@csermet/multiprovider
Version:
cloud-graph provider plugin for AWS used to fetch AWS cloud data.
45 lines (44 loc) • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const sdk_1 = require("@cloudgraph/sdk");
const format_1 = require("../../utils/format");
/**
* KMS
*/
exports.default = ({ service: key, account, region, }) => {
const { Arn: arn, Tags, Description: description, KeyId: id, policy, keyRotationEnabled, KeyUsage: usage, Enabled: enabled, KeyState: keyState, CustomerMasterKeySpec: customerMasterKeySpec, CreationDate: creationDate, KeyManager: keyManager, Origin: origin, DeletionDate: deletionDate, ValidTo: validTo, Aliases: aliases = [], } = key;
const formatAliases = (aliases) => {
return (aliases?.map(a => ({
id: sdk_1.generateUniqueId({
arn,
...a,
}),
aliasName: a.AliasName,
aliasArn: a.AliasArn,
targetKeyId: a.TargetKeyId,
creationDate: a.CreationDate?.toISOString(),
lastUpdatedDate: a.LastUpdatedDate?.toISOString(),
})) || []);
};
return {
accountId: account,
arn,
region,
id,
description,
keyRotationEnabled,
usage,
rawPolicy: policy,
policy: format_1.formatIamJsonPolicy(policy),
enabled,
keyState,
customerMasterKeySpec,
tags: format_1.formatTagsFromMap(Tags),
creationDate: creationDate?.toISOString(),
keyManager,
origin,
deletionDate: deletionDate?.toISOString(),
validTo: validTo?.toISOString(),
aliases: formatAliases(aliases),
};
};