%global _empty_manifest_terminate_build 0 Name: python-AWS-OpenAPI-Lint Version: 0.2.2 Release: 1 Summary: AWS API Gateway OpenAPI spec linter License: MIT URL: https://github.com/evilmint/aws-openapi-lint Source0: https://mirrors.aliyun.com/pypi/web/packages/8c/86/7aaa63946ca2644352d9e629d8c10c451d3a7d3f87ef13513c156b7390dc/AWS-OpenAPI-Lint-0.2.2.tar.gz BuildArch: noarch %description # OpenAPI AWS API Gateway linter [![codecov](https://codecov.io/gh/evilmint/aws-openapi-lint/branch/master/graph/badge.svg)](https://codecov.io/gh/evilmint/aws-openapi-lint) [![license](https://img.shields.io/github/license/evilmint/aws-openapi-lint)](https://github.com/evilmint/aws-openapi-lint) 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 in `security` - 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 - [X] Support json specs - [X] 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 - [X] Add option to disable rules via CLI - [X] Add warning threshold to return with status code 0 if limit not exceeded - [X] Fix flake8 violations - [X] Add a license - [X] Publish to PyPI or alike - [X] 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. ``` %package -n python3-AWS-OpenAPI-Lint Summary: AWS API Gateway OpenAPI spec linter Provides: python-AWS-OpenAPI-Lint BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-AWS-OpenAPI-Lint # OpenAPI AWS API Gateway linter [![codecov](https://codecov.io/gh/evilmint/aws-openapi-lint/branch/master/graph/badge.svg)](https://codecov.io/gh/evilmint/aws-openapi-lint) [![license](https://img.shields.io/github/license/evilmint/aws-openapi-lint)](https://github.com/evilmint/aws-openapi-lint) 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 in `security` - 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 - [X] Support json specs - [X] 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 - [X] Add option to disable rules via CLI - [X] Add warning threshold to return with status code 0 if limit not exceeded - [X] Fix flake8 violations - [X] Add a license - [X] Publish to PyPI or alike - [X] 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. ``` %package help Summary: Development documents and examples for AWS-OpenAPI-Lint Provides: python3-AWS-OpenAPI-Lint-doc %description help # OpenAPI AWS API Gateway linter [![codecov](https://codecov.io/gh/evilmint/aws-openapi-lint/branch/master/graph/badge.svg)](https://codecov.io/gh/evilmint/aws-openapi-lint) [![license](https://img.shields.io/github/license/evilmint/aws-openapi-lint)](https://github.com/evilmint/aws-openapi-lint) 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 in `security` - 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 - [X] Support json specs - [X] 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 - [X] Add option to disable rules via CLI - [X] Add warning threshold to return with status code 0 if limit not exceeded - [X] Fix flake8 violations - [X] Add a license - [X] Publish to PyPI or alike - [X] 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. ``` %prep %autosetup -n AWS-OpenAPI-Lint-0.2.2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "\"/%h/%f\"\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "\"/%h/%f.gz\"\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-AWS-OpenAPI-Lint -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue Jun 20 2023 Python_Bot - 0.2.2-1 - Package Spec generated