UNPKG

cloud-report

Version:

Collects and analyzes cloud resources

37 lines (36 loc) 1.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../../../utils"); const aws_1 = require("../../../utils/aws"); const base_1 = require("../../base"); class CloudFrontOriginAccessIdentityCollector extends base_1.BaseCollector { collect() { return this.listCloudFrontOriginAccessIdentities(); } async listCloudFrontOriginAccessIdentities() { try { const cloudfront = this.getClient("CloudFront", "us-east-1"); let fetchPending = true; let marker; let cloud_front_origin_access_identity = []; while (fetchPending) { const cloudfront_origin_access_Data = await cloudfront.listCloudFrontOriginAccessIdentities({ Marker: marker }).promise(); if (cloudfront_origin_access_Data.CloudFrontOriginAccessIdentityList && cloudfront_origin_access_Data.CloudFrontOriginAccessIdentityList.Items) { cloud_front_origin_access_identity = cloud_front_origin_access_identity.concat(cloudfront_origin_access_Data.CloudFrontOriginAccessIdentityList.Items); marker = cloudfront_origin_access_Data.CloudFrontOriginAccessIdentityList.NextMarker; fetchPending = marker !== undefined && marker !== null; await utils_1.CommonUtil.wait(200); } else { fetchPending = false; } } return { cloud_front_origin_access_identity }; } catch (error) { aws_1.AWSErrorHandler.handle(error); } } } exports.CloudFrontOriginAccessIdentityCollector = CloudFrontOriginAccessIdentityCollector;