export async function ssmCommand()

in src/utils/ssmCommand.ts [14:27]


export async function ssmCommand(command: string, instanceId: string, outputExpected: boolean = true): Promise<string> {
    const response = await sendCommand(command, instanceId);
    await delay(response);
    const result = await awaitCommandResult(response.Command.CommandId, instanceId, 6);
    if (result.Status === 'Success' && outputExpected) {
        await delay(result);
        const s3response = await getResultFromS3(result.StandardOutputUrl);
        return s3response.Body.transformToString();
    } else if (result.Status === 'Success' && !outputExpected) {
        return "success";
    } else {
        return Promise.reject(new Error(`SSM command executed on ${instanceId} not successfully completed. status='${result.Status}' errorContent='${result.StandardErrorContent}' command='${command}'`))
    }
}