@cn-shell/aws-utils
Version:
A Cloud Native extension for AWS
87 lines (86 loc) • 2.29 kB
JavaScript
;
var __createBinding =
(this && this.__createBinding) ||
(Object.create
? function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
Object.defineProperty(o, k2, {
enumerable: true,
get: function() {
return m[k];
},
});
}
: function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
});
var __setModuleDefault =
(this && this.__setModuleDefault) ||
(Object.create
? function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}
: function(o, v) {
o["default"] = v;
});
var __importStar =
(this && this.__importStar) ||
function(mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null)
for (var k in mod)
if (k !== "default" && Object.hasOwnProperty.call(mod, k))
__createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault =
(this && this.__importDefault) ||
function(mod) {
return mod && mod.__esModule ? mod : { default: mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const cn_shell_1 = __importDefault(require("cn-shell"));
const AWS = __importStar(require("./main"));
class App extends cn_shell_1.default {
constructor(name) {
super(name);
}
async stop() {}
async healthCheck() {
return true;
}
async start() {
let arn = process.env["SES_ARN"];
let domain = process.env["DOMAIN"];
let toEmail = process.env["TO_EMAIL"];
if (arn === undefined) {
throw new Error("Must set env var SES_ARN");
}
if (domain === undefined) {
throw new Error("Must set env var DOMAIN");
}
if (toEmail === undefined) {
throw new Error("Must set env var TO_EMAIL");
}
let test = new AWS.SESv2.SESv2("SES", {
region: "eu-west-1",
source: "alerts",
replyTo: "no-reply",
domain,
arn,
});
let msgId = await test.send({
to: [toEmail],
subject: "Hello",
body: "<b>Good morning</b><br>How are you<br>Signed<br>Me",
bodyIsHtml: true,
});
this.info("MsgId: %s", msgId);
return true;
}
}
let app = new App("App");
app.start();