UNPKG

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
/** * 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); };