mirror of
https://github.com/serverless/serverless.git
synced 2025-12-08 19:46:03 +00:00
39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
'use strict';
|
|
|
|
const inquirer = require('@serverless/utils/inquirer');
|
|
const ServerlessError = require('../../serverless-error');
|
|
const resolveProviderCredentials = require('@serverless/dashboard-plugin/lib/resolveProviderCredentials');
|
|
const resolveStage = require('../../utils/resolve-stage');
|
|
const resolveRegion = require('../../utils/resolve-region');
|
|
|
|
module.exports = {
|
|
confirm: async (message, options = {}) => {
|
|
const name = options.name || 'isConfirmed';
|
|
return (
|
|
await inquirer.prompt({
|
|
message,
|
|
type: 'confirm',
|
|
name,
|
|
})
|
|
)[name];
|
|
},
|
|
doesServiceInstanceHaveLinkedProvider: async ({ configuration, options }) => {
|
|
const region = resolveRegion({ configuration, options });
|
|
const stage = resolveStage({ configuration, options });
|
|
let result;
|
|
try {
|
|
result = await resolveProviderCredentials({ configuration, region, stage });
|
|
} catch (err) {
|
|
if (err.statusCode && err.statusCode >= 500) {
|
|
throw new ServerlessError(
|
|
'Dashboard service is currently unavailable, please try again later',
|
|
'DASHBOARD_UNAVAILABLE'
|
|
);
|
|
}
|
|
throw err;
|
|
}
|
|
|
|
return Boolean(result);
|
|
},
|
|
};
|