static async getAllLogStreams()

in auditLogMover/auditLogMoverHelper.ts [77:107]


    static async getAllLogStreams(cwLogExecutionGroup: string): Promise<LogStreamType[]> {
        const params: any = {
            logGroupName: cwLogExecutionGroup,
            orderBy: 'LastEventTime',
            descending: true,
            limit: 50,
        };
        const logStreams: LogStreamType[] = [];

        let nextToken = '';
        do {
            if (nextToken) {
                params.nextToken = nextToken;
            }
            const cloudwatchLogs = new AWS.CloudWatchLogs();
            // eslint-disable-next-line no-await-in-loop
            const describeResponse = await cloudwatchLogs.describeLogStreams(params).promise();
            if (describeResponse.logStreams && describeResponse.logStreams.length > 0) {
                describeResponse.logStreams.forEach((logStream: any) => {
                    logStreams.push({
                        logStreamName: logStream.logStreamName,
                        firstEventTimestamp: logStream.firstEventTimestamp,
                        lastEventTimestamp: logStream.lastEventTimestamp,
                    });
                });
            }
            nextToken = describeResponse.nextToken || '';
        } while (nextToken);

        return logStreams;
    }