@csermet/multiprovider
Version:
cloud-graph provider plugin for AWS used to fetch AWS cloud data.
135 lines (134 loc) • 4.31 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const sdk_1 = require("@cloudgraph/sdk");
const format_1 = require("../../utils/format");
exports.default = ({ service, account, }) => {
const { serviceArn: arn, serviceName, status, desiredCount, runningCount, pendingCount, launchType, capacityProviderStrategy, platformVersion, deploymentConfiguration, roleArn, createdAt, networkConfiguration, healthCheckGracePeriodSeconds, schedulingStrategy, deploymentController, createdBy, enableECSManagedTags, propagateTags, enableExecuteCommand, Tags, } = service;
const loadBalancers = service.loadBalancers?.map(lb => ({
id: sdk_1.generateUniqueId({
arn,
...lb,
}),
...lb,
}));
const serviceRegistries = service.serviceRegistries?.map(sr => ({
id: sdk_1.generateUniqueId({
arn,
...sr,
}),
...sr,
}));
const deployments = service.deployments?.map(({ capacityProviderStrategy, networkConfiguration, createdAt, updatedAt, ...deployment }) => ({
id: sdk_1.generateUniqueId({
arn,
capacityProviderStrategy,
networkConfiguration,
createdAt,
updatedAt,
...deployment,
}),
...deployment,
capacityProviderStrategy: capacityProviderStrategy?.map(strat => ({
id: sdk_1.generateUniqueId({
arn,
...strat,
}),
...strat,
})),
networkConfiguration,
createdAt: createdAt?.toISOString(),
updatedAt: updatedAt?.toISOString(),
}));
const events = service.events?.map(({ createdAt, ...event }) => ({
id: sdk_1.generateUniqueId({
arn,
createdAt,
...event,
}),
createdAt: createdAt?.toISOString(),
...event,
}));
const placementConstraints = service.placementConstraints?.map(pc => ({
id: sdk_1.generateUniqueId({
arn,
...pc,
}),
...pc,
}));
const placementStrategy = service.placementStrategy?.map(ps => ({
id: sdk_1.generateUniqueId({
arn,
...ps,
}),
...ps,
}));
return {
id: arn,
arn,
accountId: account,
serviceName,
loadBalancers,
serviceRegistries,
status,
desiredCount,
runningCount,
pendingCount,
launchType,
capacityProviderStrategy: capacityProviderStrategy?.map(strat => ({
id: sdk_1.generateUniqueId({
arn,
...strat,
}),
...strat,
})),
platformVersion,
deploymentConfiguration: {
id: sdk_1.generateUniqueId({
arn,
...deploymentConfiguration,
}),
...deploymentConfiguration,
deploymentCircuitBreaker: {
id: sdk_1.generateUniqueId({
arn,
...deploymentConfiguration?.deploymentCircuitBreaker,
}),
...deploymentConfiguration?.deploymentCircuitBreaker,
},
},
deployments: deployments?.map(deployment => ({
id: sdk_1.generateUniqueId({
arn,
...deployment,
}),
...deployment,
capacityProviderStrategy: deployment.capacityProviderStrategy?.map(strat => ({
id: sdk_1.generateUniqueId({
arn,
...strat,
}),
...strat,
})),
})),
roleArn,
events,
createdAt: createdAt?.toISOString(),
placementConstraints,
placementStrategy,
networkConfiguration,
healthCheckGracePeriodSeconds,
schedulingStrategy,
deploymentController: {
id: sdk_1.generateUniqueId({
arn,
...deploymentController,
}),
...deploymentController,
},
createdBy,
enableECSManagedTags,
propagateTags,
enableExecuteCommand,
tags: format_1.formatTagsFromMap(Tags),
};
};