text: // Copyright 2010-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
  // Licensed under the Apache-2.0 License on an "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND.   
  
  // ABOUT THIS NODE.JS SAMPLE: This sample is part of the SDK for JavaScript Developer Guide topic at
  // https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/cloudwatch-examples-using-alarm-actions.html 
  // Load the AWS SDK for Node.js
  var AWS = require('aws-sdk');
  // Set the region 
  AWS.config.update({region: 'REGION'});
  
  // Create CloudWatch service object
  var cw = new AWS.CloudWatch({apiVersion: '2010-08-01'});
  
  var params = {
    AlarmName: 'Web_Server_CPU_Utilization',
    ComparisonOperator: 'GreaterThanThreshold',
    EvaluationPeriods: 1,
    MetricName: 'CPUUtilization',
    Namespace: 'AWS/EC2',
    Period: 60,
    Statistic: 'Average',
    Threshold: 70.0,
    ActionsEnabled: true,
    AlarmActions: ['ACTION_ARN'],
    AlarmDescription: 'Alarm when server CPU exceeds 70%',
    Dimensions: [
      {
        Name: 'InstanceId',
        Value: 'INSTANCE_ID'
      },
    ],
    Unit: 'Seconds'
  };
  
  cw.putMetricAlarm(params, function(err, data) {
    if (err) {
      console.log("Error", err);
    } else {
      console.log("Alarm action added", data);
      var paramsEnableAlarmAction = {
        AlarmNames: [paramsUpdateAlarm.AlarmName]
      };
      cw.enableAlarmActions(paramsEnableAlarmAction, function(err, data) {
        if (err) {
          console.log("Error", err);
        } else {
          console.log("Alarm action enabled", data);
        }
      });
    }
  });
  