@slsplus/ui
Version:
UI Tool for Serverless Plus CLI
75 lines (74 loc) • 1.86 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.subnetList = exports.vpcList = void 0;
const capi_1 = require("@tencent-sdk/capi");
const request_1 = require("../utils/request");
const getRequst = (region) => {
const capi = new capi_1.Capi({
SecretId: process.env.TENCENT_SECRET_ID,
SecretKey: process.env.TENCENT_SECRET_KEY,
Region: region,
ServiceType: 'vpc',
Version: '2017-03-12',
});
return async (data) => {
return request_1.request(capi, data);
};
};
/**
* GET /vpc
* init serverless config api.
*/
exports.vpcList = async (req, res) => {
const region = req.query.region || 'ap-guangzhou';
try {
const reqClient = getRequst(region);
const { VpcSet } = await reqClient({
Action: 'DescribeVpcs',
});
const data = VpcSet.map((item) => item.VpcId);
res.json({
code: 0,
data: data,
});
}
catch (e) {
res.json({
code: 1,
data: [],
error: e,
});
}
};
/**
* GET /subnet
* init serverless config api.
*/
exports.subnetList = async (req, res) => {
const region = req.query.region || 'ap-guangzhou';
const { vpcId } = req.query;
try {
const reqClient = getRequst(region);
const { SubnetSet } = await reqClient({
Action: 'DescribeSubnets',
Filters: [
{
Name: 'vpc-id',
Values: [vpcId],
},
],
});
const data = SubnetSet.map((item) => item.SubnetId);
res.json({
code: 0,
data: data,
});
}
catch (e) {
res.json({
code: 1,
data: [],
error: e,
});
}
};