generator-reddgen
Version:
Reddgen is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures.
56 lines (48 loc) • 1.61 kB
JavaScript
/**
* Copyright 2013-2022 the original author or authors from the Reddgen project.
*
* This file is part of the Reddgen project, see https://www.reddgen.tech/
* for more information.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License 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.
*/
const S3 = require('./s3');
const Rds = require('./rds');
const Eb = require('./eb');
const Iam = require('./iam');
let Aws;
let generator;
const AwsFactory = (module.exports = function AwsFactory(generatorRef, cb) {
generator = generatorRef;
try {
Aws = require('aws-sdk'); // eslint-disable-line
cb();
} catch (e) {
generator.error(`Something went wrong while running reddgen:aws:\n${e}`);
}
});
AwsFactory.prototype.init = function initAws(options) {
Aws.config.region = options.region;
};
AwsFactory.prototype.getS3 = function getS3() {
return new S3(Aws, generator);
};
AwsFactory.prototype.getRds = function getRds() {
return new Rds(Aws, generator);
};
AwsFactory.prototype.getEb = function getEb() {
return new Eb(Aws, generator);
};
AwsFactory.prototype.getIam = function getIa() {
return new Iam(Aws, generator);
};