This library is untested and is a set of wrappers around the standard AWS NodeJS SDK functions which are much more capable. Use this library at your own risk.
let cfh = require('cf-helpers')({region: 'ap-southeast-2'});
// Structure of class returned from require('cf-helpers')
class CFHelpers{
constructor({region}) => new CFHelpers()
getRegion() => string
stackExists({name}) => Promise, resolves(exists: boolean), rejects(err: Error)
listStacks() => Promise, resolves(stacks: object[]), rejects(err: Error)
createStack({template}) => Promise, resolves(created?: boolean), rejects(err: Error)
updateStack({template}) => Promise, resolves(exists: boolean), rejects(err: Error)
getExports({name}) => Promise, resolves(exports: object[]), rejects(err: Error)
stackStatus({name}) => Promise, resolves(status: string), rejects(err: Error)
}
let cf = require('cf-helpers');
// returns a Promise
cf.stackExists('stack name')
.then((exists: boolean) => {
// Do some work
})
.catch((err: Error) => {
// Handle error case
});
let cf = require('cf-helpers');
// returns a Promise
cf.listStacks('stack name')
.then((stacks: object[]) => {
// Do some work
stacks = [
{
StackName : "name of stack",
StackStatus : "CREATE_IN_PROGRESS" | "CREATE_COMPLETE" | "ROLLBACK_IN_PROGRESS" | "ROLLBACK_FAILED" | "ROLLBACK_COMPLETE" | "DELETE_IN_PROGRESS" | "DELETE_FAILED" | "UPDATE_IN_PROGRESS" | "UPDATE_COMPLETE_CLEANUP_IN_PROGRESS" | "UPDATE_COMPLETE" | "UPDATE_ROLLBACK_IN_PROGRESS" | "UPDATE_ROLLBACK_FAILED" | "UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS" | "UPDATE_ROLLBACK_COMPLETE"
// Other useful properties exist
}
]
})
.catch((err: Error) => {
// Handle error case
});