AMIをNodeで取得する

自己所有のAMIをNodeで探すときのコードです。 タグに付与しているNameで探します

amzn2.example.comというのを探します。

const AWS = require('aws-sdk');
const credentials = new AWS.SharedIniFileCredentials({ profile: 'ProfileName' });
AWS.config.credentials = credentials;
AWS.config.update({ region: 'ap-northeast-1' });
const ec2 = new AWS.EC2({ apiVersion: '2016-11-15' });

  const params = {
    DryRun: false,
    Filters: [
      {
        Name: 'state',
        Values: [
          'available'
        ]
      }, {
        Name: "tag:Name",
        Values: ['amzn2.example.com']
      }
    ],
    Owners: [
      'self'
    ]
  };

  ec2.describeImages(params, function (err, data) {
    if (err) {
      console.log("ERR", err.stack);
    } else {
      console.log(data);;
    }
  });

dataはオブジェクトで出てくるので、適切にデータを処理する必要があります。(完全なjsonで出てきてほしかった…)