=============================================================================== ALE CloudFormation Integration *ale-cloudformation-options* =============================================================================== cfn-python-lint *ale-cloudformation-cfn-python-lint* cfn-python-lint is a linter for AWS CloudFormation template file. Website: https://github.com/awslabs/cfn-python-lint ------------------------------------------------------------------------------- Installation Install cfn-python-lint using either pip or brew: > pip install cfn-lint < If pip is not available use setuptools. > python setup.py clean --all python setup.py install < You can install the linter via brew on macOS. > brew install cfn-lint < ------------------------------------------------------------------------------- Configuration To get cloudformation linter to work on only CloudFormation files we must set the buffer |filetype| to `yaml.cloudformation`. This causes ALE to lint the file with linters configured for cloudformation and YAML files. Just put the following in `ftdetect/cloudformation.vim`: > au BufRead,BufNewFile *.template.yaml set filetype=yaml.cloudformation This will get both cloudformation and yaml linters to work on any file with `.template.yaml` extension. =============================================================================== checkov *ale-cloudformation-checkov* *ale-options.cloudformation_checkov_executable* *g:ale_cloudformation_checkov_executable* *b:ale_cloudformation_checkov_executable* cloudformation_checkov_executable g:ale_cloudformation_checkov_executable Type: |String| Default: `'checkov'` This variable can be changed to use a different executable for checkov. *ale-options.cloudformation_checkov_options* *g:ale_cloudformation_checkov_options* *b:ale_cloudformation_checkov_options* cloudformation_checkov_options g:ale_cloudformation_checkov_options Type: |String| Default: `''` This variable can be changed to set additional options for checkov. ------------------------------------------------------------------------------- Configuration To get chekov to work with cloudformation files (rather than general yaml files) we must set the buffer |filetype| to `yaml.cloudformation`. This causes ALE to lint the file with linters configured for cloudformation and YAML files. One option is to put the following in `ftdetect/cloudformation.vim`: > au BufRead,BufNewFile *.template.yaml set filetype=yaml.cloudformation This will get both cloudformation and yaml linters to work on any file with `.template.yaml` extension. Another option is to check for the presence of 'AWSTemplateFormatVersion' in the yaml file: > au BufRead,BufNewFile *.yaml,*.yml if search('AWSTemplateFormatVersion', 'nw') | set filetype=yaml.cloudformation | endif < =============================================================================== vim:tw=78:ts=2:sts=2:sw=2:ft=help:norl: