AWS API Gateway OpenAPI spec linter
Project description
OpenAPI AWS API Gateway linter
AWS-OpenAPI-Lint is a simple OpenAPI 3 yaml / json spec linter designed for checking API Gateway integration.
Rules
It contains rules for checking whether:
- you have an authorizer on OPTIONS
- authorizer is mentioned in
requestParameters
but is not present insecurity
- http verbs are consistent in the path and integration
- all used headers in path from all verbs are mentioned in CORS rules and vice-versa
- CORS rules allow all verbs mentioned in the path
- CORS rules are present
- amazon integration is present
- path parameters present in
requestParameters
are not used in the direct path parameters and vice-versa
Roadmap
- Update README with rule names and behavior
- Support json specs
- Add optional rule for checking base url equality
- Add support for configuration yaml file
- Add possibility to disable rule checking on specific paths
- Add possibility to disable rules per path
- Ignore path-params if
http_proxy
integration type used - Add option to disable rules via CLI
- Add warning threshold to return with status code 0 if limit not exceeded
- Fix flake8 violations
- Add a license
- Publish to PyPI or alike
- Configure properly up GitHub actions to run tests on push
Installation
pip install aws-openapi-lint
Usage
$ aws-openapi-lint path/to/spec.yml
usage: main.py [-h] [--treat-errors-as-warnings]
[--warning-threshold WARNING_THRESHOLD]
[--exclude-rules EXCLUDE_RULES]
lint_file
Lint OpenAPI specifications based on AWS API Gateway.
positional arguments:
lint_file Specify path to the openapi schema file.
optional arguments:
-h, --help show this help message and exit
--treat-errors-as-warnings
Treats errors as warnings (exit code will be 0 unless
warning threshold is specified
--warning-threshold WARNING_THRESHOLD
Warning threshold which when surpassed renders exit
code to become 1)
--exclude-rules EXCLUDE_RULES
Excluded rules separated by comma.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file AWS-OpenAPI-Lint-0.2.2.tar.gz
.
File metadata
- Download URL: AWS-OpenAPI-Lint-0.2.2.tar.gz
- Upload date:
- Size: 7.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e9e37634893e2d64ed94a4938e251693f54b8d47927ed88dd0268553baacf30 |
|
MD5 | d5bddd91adf7d9724455c78a29547405 |
|
BLAKE2b-256 | 8c867aaa63946ca2644352d9e629d8c10c451d3a7d3f87ef13513c156b7390dc |