UNPKG

@csermet/multiprovider

Version:

cloud-graph provider plugin for AWS used to fetch AWS cloud data.

229 lines (228 loc) 7.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const sdk_1 = require("@cloudgraph/sdk"); exports.default = ({ service, account, region, }) => { const { taskDefinitionArn: arn, family, taskRoleArn, executionRoleArn, networkMode, revision, volumes, status, requiresAttributes, placementConstraints, compatibilities, requiresCompatibilities, cpu, memory, inferenceAccelerators, pidMode, ipcMode, proxyConfiguration, registeredAt, deregisteredAt, registeredBy, ephemeralStorage, } = service; const containerDefinitions = service.containerDefinitions?.map(def => ({ id: sdk_1.generateUniqueId({ arn, ...def, }), ...def, portMappings: def.portMappings?.map(mapping => ({ id: sdk_1.generateUniqueId({ arn, ...mapping, }), ...mapping, })), environment: def.environment?.map(env => ({ id: sdk_1.generateUniqueId({ arn, ...env, }), ...env, })), environmentFiles: def.environmentFiles?.map(file => ({ id: sdk_1.generateUniqueId({ arn, ...file, }), ...file, })), mountPoints: def.mountPoints?.map(mp => ({ id: sdk_1.generateUniqueId({ arn, ...mp, }), ...mp, })), volumesFrom: def.volumesFrom?.map(vol => ({ id: sdk_1.generateUniqueId({ arn, ...vol, }), ...vol, })), linuxParameters: { ...def?.linuxParameters, devices: def.linuxParameters?.devices?.map(device => ({ id: sdk_1.generateUniqueId({ arn, ...device, }), ...device, })), tmpfs: def.linuxParameters?.tmpfs?.map(fs => ({ id: sdk_1.generateUniqueId({ arn, ...fs, }), ...fs, })), }, secrets: def.secrets?.map(secret => ({ id: sdk_1.generateUniqueId({ arn, ...secret, }), ...secret, })), dependsOn: def.dependsOn?.map(dep => ({ id: sdk_1.generateUniqueId({ arn, ...dep, }), ...dep, })), extraHosts: def.extraHosts?.map(host => ({ id: sdk_1.generateUniqueId({ arn, ...host, }), ...host, })), dockerLabels: Object.keys(def.dockerLabels || {}).map(key => ({ id: sdk_1.generateUniqueId({ arn, key, value: def.dockerLabels[key], }), key, value: def.dockerLabels[key], })), ulimits: def.ulimits?.map(ulimit => ({ id: sdk_1.generateUniqueId({ arn, ...ulimit, }), ...ulimit, })), logConfiguration: { ...def.logConfiguration, options: Object.keys(def.logConfiguration?.options || {}).map(key => ({ id: sdk_1.generateUniqueId({ arn, key, value: def.logConfiguration?.options[key], }), key, value: def.logConfiguration?.options[key], })), secretOptions: def.logConfiguration?.secretOptions?.map(option => ({ id: sdk_1.generateUniqueId({ arn, ...option, }), ...option, })), }, systemControls: def.systemControls?.map(control => ({ id: sdk_1.generateUniqueId({ arn, ...control, }), ...control, })), resourceRequirements: def.resourceRequirements?.map(rr => ({ id: sdk_1.generateUniqueId({ arn, ...rr, }), ...rr, })), firelensConfiguration: { ...def.firelensConfiguration, options: Object.keys(def.firelensConfiguration?.options || {}).map(key => ({ id: sdk_1.generateUniqueId({ arn, key, value: def.firelensConfiguration?.options[key], }), key, value: def.firelensConfiguration?.options[key], })), }, })); return { id: arn, arn, accountId: account, region, containerDefinitions, family, taskRoleArn, executionRoleArn, networkMode, revision, volumes: volumes?.map(vol => ({ id: sdk_1.generateUniqueId({ arn, ...vol, }), ...vol, dockerVolumeConfiguration: { driverOpts: Object.keys(vol?.dockerVolumeConfiguration?.driverOpts).map(key => ({ id: sdk_1.generateUniqueId({ arn, key, value: vol?.dockerVolumeConfiguration?.driverOpts[key], }), key, value: vol?.dockerVolumeConfiguration?.driverOpts[key], })), labels: Object.keys(vol?.dockerVolumeConfiguration?.labels).map(key => ({ id: sdk_1.generateUniqueId({ arn, key, value: vol?.dockerVolumeConfiguration?.labels[key], }), key, value: vol?.dockerVolumeConfiguration?.labels[key], })), }, })), status, requiresAttributes: requiresAttributes?.map(attr => ({ id: sdk_1.generateUniqueId({ arn, ...attr, }), ...attr, })), placementConstraints: placementConstraints?.map(pc => ({ id: sdk_1.generateUniqueId({ arn, ...pc, }), ...pc, })), compatibilities, requiresCompatibilities, cpu, memory, inferenceAccelerators: inferenceAccelerators?.map(ia => ({ id: sdk_1.generateUniqueId({ arn, ...ia, }), ...ia, })), pidMode, ipcMode, proxyConfiguration: { ...proxyConfiguration, properties: proxyConfiguration?.properties?.map(prop => ({ id: sdk_1.generateUniqueId({ arn, ...prop, }), ...prop, })), }, registeredAt: registeredAt?.toISOString(), deregisteredAt: deregisteredAt?.toISOString(), registeredBy, ephemeralStorage, }; };