@wheatstalk/aws-cdk-exec
Version:
An AWS CDK Cloud Assembly-aware command to help find and execute lambda functions and state machines
48 lines • 4.82 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.LazyListStackResources = exports.AwsSdk = void 0;
const aws_sdk_1 = __importDefault(require("aws-sdk"));
/**
* Creates AWS SDK clients.
*/
class AwsSdk {
cloudFormation() {
return new aws_sdk_1.default.CloudFormation();
}
stepFunctions() {
return new aws_sdk_1.default.StepFunctions();
}
lambda() {
return new aws_sdk_1.default.Lambda();
}
}
exports.AwsSdk = AwsSdk;
/**
* List stack resources.
*/
class LazyListStackResources {
constructor(sdk, stackName) {
this.cloudFormation = sdk.cloudFormation();
this.stackName = stackName;
}
async listStackResources() {
if (!this.stackResources) {
this.stackResources = await this.listStackResourcesActual();
}
return this.stackResources;
}
async listStackResourcesActual() {
const res = await this.cloudFormation.describeStackResources({
StackName: this.stackName,
}).promise();
if (!res.StackResources) {
throw new Error('Stack resources not available');
}
return res.StackResources;
}
}
exports.LazyListStackResources = LazyListStackResources;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLXNkay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hd3Mtc2RrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNEQUEwQjtBQW1CMUI7O0dBRUc7QUFDSCxNQUFhLE1BQU07SUFDakIsY0FBYztRQUNaLE9BQU8sSUFBSSxpQkFBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLGlCQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELE1BQU07UUFDSixPQUFPLElBQUksaUJBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFWRCx3QkFVQztBQUVEOztHQUVHO0FBQ0gsTUFBYSxzQkFBc0I7SUFLakMsWUFBWSxHQUFXLEVBQUUsU0FBaUI7UUFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUVELEtBQUssQ0FBQyxrQkFBa0I7UUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1NBQzdEO1FBRUQsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFTyxLQUFLLENBQUMsd0JBQXdCO1FBQ3BDLE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQztZQUMzRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLEVBQUU7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQ2xEO1FBRUQsT0FBTyxHQUFHLENBQUMsY0FBYyxDQUFDO0lBQzVCLENBQUM7Q0FDRjtBQTdCRCx3REE2QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQVdTIGZyb20gJ2F3cy1zZGsnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElBd3NTZGsge1xuICAvKipcbiAgICogR2V0IHRoZSBDbG91ZEZvcm1hdGlvbiBjbGllbnQuXG4gICAqL1xuICBjbG91ZEZvcm1hdGlvbigpOiBBV1MuQ2xvdWRGb3JtYXRpb247XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgU3RlcEZ1bmN0aW9ucyBTREsgY2xpZW50LlxuICAgKi9cbiAgc3RlcEZ1bmN0aW9ucygpOiBBV1MuU3RlcEZ1bmN0aW9ucztcblxuICAvKipcbiAgICogR2V0IHRoZSBMYW1iZGEgU0RLIGNsaWVudC5cbiAgICovXG4gIGxhbWJkYSgpOiBBV1MuTGFtYmRhO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgQVdTIFNESyBjbGllbnRzLlxuICovXG5leHBvcnQgY2xhc3MgQXdzU2RrIGltcGxlbWVudHMgSUF3c1NkayB7XG4gIGNsb3VkRm9ybWF0aW9uKCk6IEFXUy5DbG91ZEZvcm1hdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBBV1MuQ2xvdWRGb3JtYXRpb24oKTtcbiAgfVxuICBzdGVwRnVuY3Rpb25zKCk6IEFXUy5TdGVwRnVuY3Rpb25zIHtcbiAgICByZXR1cm4gbmV3IEFXUy5TdGVwRnVuY3Rpb25zKCk7XG4gIH1cbiAgbGFtYmRhKCk6IEFXUy5MYW1iZGEge1xuICAgIHJldHVybiBuZXcgQVdTLkxhbWJkYSgpO1xuICB9XG59XG5cbi8qKlxuICogTGlzdCBzdGFjayByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBMYXp5TGlzdFN0YWNrUmVzb3VyY2VzIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGFja05hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjbG91ZEZvcm1hdGlvbjogQVdTLkNsb3VkRm9ybWF0aW9uO1xuICBwcml2YXRlIHN0YWNrUmVzb3VyY2VzPzogQVdTLkNsb3VkRm9ybWF0aW9uLlN0YWNrUmVzb3VyY2VzO1xuXG4gIGNvbnN0cnVjdG9yKHNkazogQXdzU2RrLCBzdGFja05hbWU6IHN0cmluZykge1xuICAgIHRoaXMuY2xvdWRGb3JtYXRpb24gPSBzZGsuY2xvdWRGb3JtYXRpb24oKTtcbiAgICB0aGlzLnN0YWNrTmFtZSA9IHN0YWNrTmFtZTtcbiAgfVxuXG4gIGFzeW5jIGxpc3RTdGFja1Jlc291cmNlcygpOiBQcm9taXNlPEFXUy5DbG91ZEZvcm1hdGlvbi5TdGFja1Jlc291cmNlcz4ge1xuICAgIGlmICghdGhpcy5zdGFja1Jlc291cmNlcykge1xuICAgICAgdGhpcy5zdGFja1Jlc291cmNlcyA9IGF3YWl0IHRoaXMubGlzdFN0YWNrUmVzb3VyY2VzQWN0dWFsKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3RhY2tSZXNvdXJjZXM7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGxpc3RTdGFja1Jlc291cmNlc0FjdHVhbCgpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmNsb3VkRm9ybWF0aW9uLmRlc2NyaWJlU3RhY2tSZXNvdXJjZXMoe1xuICAgICAgU3RhY2tOYW1lOiB0aGlzLnN0YWNrTmFtZSxcbiAgICB9KS5wcm9taXNlKCk7XG5cbiAgICBpZiAoIXJlcy5TdGFja1Jlc291cmNlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTdGFjayByZXNvdXJjZXMgbm90IGF2YWlsYWJsZScpO1xuICAgIH1cblxuICAgIHJldHVybiByZXMuU3RhY2tSZXNvdXJjZXM7XG4gIH1cbn0iXX0=