Skip to content

trek10inc/cloudformation-schema-js-yaml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cloudformation Schema for use with js-yaml

Cloudformation supports custom yaml classes, e.g. !Ref, !Sub, !If, etc. Yaml parsers will choke on these custom classes unless the classes are specified. Use this library with js-yaml to parse cloudformation templates with these classes. The cloudformation classes are converted into objects that are similar to the non custom class syntax e.g. Ref, Fn::Sub, Fn::If

Usage

const yaml = require('js-yaml');
const schema = require('cloudformation-schema-js-yaml');
const fs = require('fs');

let file = fs.readFileSync('somefile.yaml');
let data = yaml.load(file, { schema: schema});

Example

sample.yaml

test:
  - !Ref someLogicalId
  - !Sub A string with a substitution ${someLogicalId}

Program extract

let file = fs.readFileSync('sample.yaml');
let data = yaml.load(file, { schema: schema});
console.log(data)
console.log('%j', data)

Output

{ test:
   [ Obj { Ref: 'someLogicalId' },
     Obj { 'Fn::Sub': 'A string with a substitution ${someLogicalId}' } ] }
{"test":[{"Ref":"someLogicalId"},{"Fn::Sub":"A string with a substitution ${someLogicalId}"}]}

Dependencies

None

Peer-dependencies

This this library is meant to be used with js-yaml it has a peer dependency of js-yaml

Tests

npm test

About

Cloudformation custom class parser

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published