UNPKG

@infrascan/aws-autoscaling-scanner

Version:

Infrascan scanner definition for AWS Autoscaling

73 lines (70 loc) 1.93 kB
// src/generated/client.ts import { AutoScalingClient } from "@aws-sdk/client-auto-scaling"; import debug from "debug"; var clientDebug = debug("auto-scaling:client"); function getClient(credentials, context, retryStrategy) { clientDebug("Creating instance with context", context); return new AutoScalingClient({ credentials, region: context.region, retryStrategy }); } // src/generated/getters.ts import { AutoScalingServiceException, DescribeAutoScalingGroupsCommand } from "@aws-sdk/client-auto-scaling"; import debug2 from "debug"; async function DescribeAutoScalingGroups(client, stateConnector, context) { const getterDebug = debug2("auto-scaling:DescribeAutoScalingGroups"); const state = []; getterDebug("DescribeAutoScalingGroups"); const preparedParams = {}; try { const cmd = new DescribeAutoScalingGroupsCommand(preparedParams); const result = await client.send( cmd ); state.push({ _metadata: { account: context.account, region: context.region, timestamp: Date.now() }, _parameters: preparedParams, _result: result }); } catch (err) { if (err instanceof AutoScalingServiceException) { if (err?.$retryable) { console.log("Encountered retryable error", err); } else { console.log("Encountered unretryable error", err); } } else { console.log("Encountered unexpected error", err); } } getterDebug("Recording state"); await stateConnector.onServiceScanCompleteCallback( context.account, context.region, "AutoScaling", "DescribeAutoScalingGroups", state ); } // src/index.ts var AutoScalingScanner = { provider: "aws", service: "auto-scaling", key: "AutoScaling", getClient, callPerRegion: true, getters: [DescribeAutoScalingGroups] }; var index_default = AutoScalingScanner; export { index_default as default };