This repo provides CloudFormation linting rules specific to AWS Quick Start guidelines, for more information see the Contributors Guide.
cd ~/
git clone https://github.com/aws-quickstart/qs-cfn-lint-rules.git
cd qs-cfn-lint-rules
pip install -e .
To add the rules when running on the command line use the -a
flag to add the additional rules:
cfn-lint my-cfn-template.yaml -a ~/qs-cfn-lint-rules/qs_cfn_lint_rules/
To use in your IDE install the relevant
cfn-lint plugin and add the rules to your
cfn-lint config file (~/.cfnlintrc
) as follows:
append_rules:
- ~/qs-cfn-lint-rules/qs_cfn_lint_rules/
Add to syntastic
and vim-cfn
your ~/.vimrc
:
Add to vundle plugin section:
"---------------------------=== CloudFormation ===------------------------------
Plugin 'scrooloose/syntastic' " Syntax checking plugin for Vim
Plugin 'speshak/vim-cfn' "CloudFormation syntax checking/highlighting
vim +PluginInstall +qall
Append to the bottom of your ~/.vimrc
"cfn-lint
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
let g:syntastic_cloudformation_checkers = ['cfn_lint']
Add to ~/.vim/bundle/vim-cfn/ftdetect/cloudformation.vim
autocmd BufNewFile,BufRead *.template setfiletype yaml.cloudformation
autocmd BufNewFile,BufRead *.template.yaml setfiletype yaml.cloudformation
Add the following to ~/.vim/after/plugin/syntastic.vim:
let g:syntastic_cloudformation_checkers = ['cfn_lint']
If you receive spelling error warnings [9006] for words that are spelled correctly, such as the example below, AWS service names, or words that should be excluded from all future linting, please add these words to ./qs_cfn_lint_rules/data/custom_dict.txt
.
line 93 [9006] Parameter QSS3BucketName contains spelling error(s):
{'customizing'}
For spelling exclusions for a specific CloudFormation template, such as partner brand names, please add these words to a LintSpellExclude
list to the Metadata
section.
Metadata:
LintSpellExclude:
- PartnerName
If you receive sentence case warnings [9006] for words that should be capitalized, such as partner product names, please add a SentenceCaseExclude
list to the Metadata
section.
Metadata:
SentenceCaseExclude:
- Pro