Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const AWS = require('aws-sdk');
- const ec2 = new AWS.EC2();
- exports.SUCCESS = "SUCCESS";
- exports.FAILED = "FAILED";
- const send = function(event, context, responseStatus, responseData, physicalResourceId) {
- var responseBody = JSON.stringify({
- Status: responseStatus,
- Reason: "See the details in CloudWatch Log Stream: " + context.logStreamName,
- PhysicalResourceId: physicalResourceId || context.logStreamName,
- StackId: event.StackId,
- RequestId: event.RequestId,
- LogicalResourceId: event.LogicalResourceId,
- Data: responseData
- });
- console.log("Response body:\n", responseBody);
- var https = require("https");
- var url = require("url");
- console.log("EVENT" + event.ResponseURL)
- var parsedUrl = url.parse(event.ResponseURL);
- var options = {
- hostname: parsedUrl.hostname,
- port: 443,
- path: parsedUrl.path,
- method: "PUT",
- headers: {
- "content-type": "",
- "content-length": responseBody.length
- }
- };
- var request = https.request(options, function(response) {
- console.log("Status code: " + response.statusCode);
- console.log("Status message: " + response.statusMessage);
- context.done();
- });
- request.on("error", function(error) {
- console.log("send(..) failed executing https.request(..): " + error);
- context.done();
- });
- request.write(responseBody);
- request.end();
- };
- exports.handler = async (event, context) => {
- const results = [];
- try {
- const data = await ec2.describeRegions().promise();
- const allRegions = data.Regions.map(region => region.RegionName);
- console.log('All regions:', allRegions);
- for (const region of allRegions) {
- try {
- const ec2Client = new AWS.EC2({ region });
- const vpcs = await ec2Client.describeVpcs().promise();
- const defaultVpc = vpcs.Vpcs.find(vpc => vpc.IsDefault);
- if (defaultVpc) {
- results.push('Default VPC in ' + region + ':' + defaultVpc.VpcId);
- } else {
- results.push('No default VPC found in ' + region);
- }
- } catch (error) {
- results.push('Error in ' + region + ':' + error.message);
- }
- }
- } catch (error) {
- results.push('Error fetching active regions: ' + error.message);
- }
- console.log('List of all default VPC:', results);
- // Use the send function to send the response
- await send(event, context, exports.SUCCESS, JSON.stringify(results));
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement