serverless/lib/Region.js
2016-02-22 12:18:09 -08:00

65 lines
1.2 KiB
JavaScript

'use strict';
const SError = require('./Error'),
SerializerFileSystem = require('./SerializerFileSystem'),
BbPromise = require('bluebird');
class Region extends SerializerFileSystem {
constructor(S, stage, name) {
super(S);
this._S = S;
this._class = 'Region';
this._stage = stage;
this.name = name;
this.variables = new this._S.classes.Variables();
}
load() {
return this.deserialize(this);
}
save() {
return this.serialize(this);
}
toObject() {
return SUtils.exportObject(_.cloneDeep(this));
}
fromObject(data) {
return _.assign(this, data);
}
getName() {
return this.name;
}
getStage() {
return this._stage;
}
getVariables() {
return this.variables;
}
destroy() {} // TODO: Finish
static regionNameToVarsFilename( name ){
return name.replace(/-/g, '');
}
static varsFilenameToRegionName(name ){
if( name === 'useast1' ) name = 'us-east-1';
if( name === 'uswest2' ) name = 'us-west-2';
if( name === 'euwest1' ) name = 'eu-west-1';
if( name === 'apnortheast1' ) name = 'ap-northeast-1';
return( name );
}
}
module.exports = Region;