@infrascan/aws-autoscaling-scanner
Version:
Infrascan scanner definition for AWS Autoscaling
73 lines (70 loc) • 1.93 kB
JavaScript
// 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
};