text: /**
   * Copyright 2010-2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
   *
   * This file is licensed under the Apache License, Version 2.0 (the "License").
   * You may not use this file except in compliance with the License. A copy of
   * the License is located at
   *
   * http://aws.amazon.com/apache2.0/
   *
   * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
   * CONDITIONS OF ANY KIND, either express or implied. See the License for the
   * specific language governing permissions and limitations under the License.
  */
  
  //snippet-sourcedescription:[ec2_monitorinstances.js demonstrates how to enable detailed monitoring for Amazon EC2 instances.]
  //snippet-service:[ec2]
  //snippet-keyword:[JavaScript]
  //snippet-sourcesyntax:[javascript]
  //snippet-keyword:[Code Sample]
  //snippet-keyword:[Amazon EC2]
  //snippet-sourcetype:[full-example]
  //snippet-sourcedate:[2018-06-02]
  //snippet-sourceauthor:[AWS-JSDG]
  
  // 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/ec2-example-managing-instances.html
  
  // snippet-start:[ec2.JavaScript.Instances.monitorInstances]
  // Load the AWS SDK for Node.js
  var AWS = require('aws-sdk');
  // Set the region 
  AWS.config.update({region: 'REGION'});
  
  // Create EC2 service object
  var ec2 = new AWS.EC2({apiVersion: '2016-11-15'});
  
  var params = {
    InstanceIds: ['INSTANCE_ID'],
    DryRun: true
  };
  
  if (process.argv[2].toUpperCase() === "ON") {
    // Call EC2 to start monitoring the selected instances
    ec2.monitorInstances(params, function(err, data) {
      if (err && err.code === 'DryRunOperation') {
        params.DryRun = false;
        ec2.monitorInstances(params, function(err, data) {
            if (err) {
              console.log("Error", err);
            } else if (data) {
              console.log("Success", data.InstanceMonitorings);
            }
        });
      } else {
        console.log("You don't have permission to change instance monitoring.");
      }
    });
  } else if (process.argv[2].toUpperCase() === "OFF") {
    // Call EC2 to stop monitoring the selected instances
    ec2.unmonitorInstances(params, function(err, data) {
      if (err && err.code === 'DryRunOperation') {
        params.DryRun = false;
        ec2.unmonitorInstances(params, function(err, data) {
            if (err) {
              console.log("Error", err);
            } else if (data) {
              console.log("Success", data.InstanceMonitorings);
            }
        });
      } else {
        console.log("You don't have permission to change instance monitoring.");
      }
    });
  }
  // snippet-end:[ec2.JavaScript.Instances.monitorInstances]
  