UNPKG

sls-helper-plugin-janis

Version:

A Serverless Helper plugin to add custom helpers for Janis Commerce

50 lines (39 loc) 1.23 kB
'use strict'; /** * @param {Array|Object} resources * @param {String} subdomainName * @returns {Boolean} True if resource was not already created */ const shouldCreateRecordSet = (resources, subdomainName) => { if(!resources || !resources.Resources) return true; const resourceName = [`${subdomainName}RecordSet`]; return Array.isArray(resources.Resources) ? !resources.Resources.find(resource => resource[resourceName]) : !resources.Resources[resourceName]; }; const getRecordSet = (hostedZone, subdomainName, rawSubdomainName) => { const Name = `${rawSubdomainName}.${hostedZone}`; return { name: `${subdomainName}RecordSet`, recordSetConfig: { Type: 'AWS::Route53::RecordSet', Properties: { HostedZoneName: `${hostedZone}.`, Type: 'A', Name, AliasTarget: { HostedZoneId: 'Z2FDTNDATAQYW2', // CloudFront zone ID DNSName: { 'Fn::GetAtt': `${subdomainName}CloudFrontDistribution.DomainName` } } } } }; }; module.exports.getFormattedRecordSet = (resources, { hostedZone, subdomainName, rawSubdomainName }) => { if(!shouldCreateRecordSet(resources, subdomainName)) return {}; return getRecordSet(hostedZone, subdomainName, rawSubdomainName); };