mirror of
https://github.com/serverless/serverless.git
synced 2026-01-18 14:58:43 +00:00
50 lines
1.1 KiB
JavaScript
50 lines
1.1 KiB
JavaScript
'use strict';
|
|
|
|
const SError = require('./Error'),
|
|
BbPromise = require('bluebird'),
|
|
VarContainer = require('./Variables');
|
|
|
|
/**
|
|
* This is the class which represents deployment Stage
|
|
*/
|
|
|
|
class ServerlessRegion extends VarContainer {
|
|
constructor(S, stage, name) {
|
|
super( S, stage, { region: name } );
|
|
|
|
this.S = S;
|
|
this._name = name;
|
|
this._stage = stage;
|
|
}
|
|
|
|
getName(){
|
|
return this._name;
|
|
}
|
|
|
|
save() {
|
|
let _this = this;
|
|
return BbPromise.try(function () {
|
|
return _this.saveVarsToFile( `s-variables-${_this._stage.getName()}-${ServerlessRegion.regionNameToVarsFilename(_this.getName())}.json` );
|
|
})
|
|
}
|
|
|
|
destroy(){
|
|
|
|
}
|
|
|
|
static regionNameToVarsFilename( name ){
|
|
return name.replace(/-/g, '');
|
|
}
|
|
|
|
static varsFilenameToTegionName( 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 = ServerlessRegion;
|