Alert Logic APIs definitions
Repository contains static definitions of Alert Logic APIs, used for documentation generation, SDK and CLI.
Usage
Install
pip install alertlogic-sdk-definitions
For the one who doesn't require python code, GitHub releases are produced containing an archive with OpenAPI definitions only, see here
Test
python -m unittest
Use
List available service definitions:
>>> import alsdkdefs
>>> alsdkdefs.list_services()
OrderedDict([('aecontent', ServiceDefinition(aecontent)), ('aefr', ServiceDefinition(aefr)), ('aepublish', ServiceDefinition(aepublish)), ('aerta', ServiceDefinition(aerta)), ('aetag', ServiceDefinition(aetag)), ('aetuner', ServiceDefinition(aetuner)), ('aims', ServiceDefinition(aims)), ('assets_query', ServiceDefinition(assets_query)), ('assets_write', ServiceDefinition(assets_write)), ('connectors', ServiceDefinition(connectors)), ('credentials', ServiceDefinition(credentials)), ('deployments', ServiceDefinition(deployments)), ('herald', ServiceDefinition(herald)), ('ingest', ServiceDefinition(ingest)), ('iris', ServiceDefinition(iris)), ('kalm', ServiceDefinition(kalm)), ('notify', ServiceDefinition(notify)), ('otis', ServiceDefinition(otis)), ('policies', ServiceDefinition(policies)), ('remediations', ServiceDefinition(remediations)), ('responder', ServiceDefinition(responder)), ('search', ServiceDefinition(search)), ('subscriptions', ServiceDefinition(subscriptions)), ('themis', ServiceDefinition(themis))])
Get path to a service definitions paths:
>>> import alsdkdefs
>>> alsdkdefs.get_service_defs("aerta")
['/usr/local/lib/python3.8/site-packages/alsdkdefs/apis/aerta/aerta.v1.yaml']
Get normalised service spec of a service(all refs resolved, path parameters moved to the methods, allOfs are merged if possible):
>>> import alsdkdefs
>>> alsdkdefs.load_service_spec("aerta")
Validate service spec:
>>> import alsdkdefs
>>> service_spec = alsdkdefs.load_service_spec("aerta")
>>> alsdkdefs.validate(service_spec)
Quick validation of a definition
While YAML definition is developed apart from the current package and current repo,
it is required to validate it prior to push, please add this to your Makefile
in order to achieve quick validation:
curl -s https://raw.githubusercontent.com/alertlogic/alertlogic-sdk-definitions/master/scripts/validate_my_definition.sh | bash -s <path/to/definitions/directory>
If no directory is specified, by default doc/openapi/ directory will be used, if such behaviour is desired, use following line instead:
curl -s https://raw.githubusercontent.com/alertlogic/alertlogic-sdk-definitions/master/scripts/validate_my_definition.sh | bash
It is recommended to invoke it via curl, since validation of the definitions might be extended with time.
Script requires python3 to be available in the system.
Validation checks:
- YAML of a definition is valid
- Definition passes OpenAPI 3 schema validation
Development
Please submit a PR. Please note that API definitions are updated automatically and any changes to it will be overwritten, see: automatic update process
Release files for alertlogic-sdk-definitions 0.1.167
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| alertlogic_sdk_definitions-0.1.167.tar.gz | 1.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| alertlogic_sdk_definitions-0.1.167-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.2 MB
Release files / alertlogic_sdk_definitions-0.1.167.tar.gz
| Download URL | alertlogic_sdk_definitions-0.1.167.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
07c2cd3d55b9fcee83f87514bc81e726e6e740b2a30bea9488db388d0409340a
|
|
BLAKE2b-256 checksum How to use checksums |
5c2010344112930ae8f9e6b2b10de7fa0fe5378b8d7b9fa3acb3ebd6a82f815e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / alertlogic_sdk_definitions-0.1.167-py3-none-any.whl
| Download URL | alertlogic_sdk_definitions-0.1.167-py3-none-any.whl |
|---|---|
| Size | 1.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
011298ede3db19c39255dd9800dc39640fc575df0cec98bf7e0abae71f6e5440
|
|
BLAKE2b-256 checksum How to use checksums |
c680ab1c33212bf363195d5d4326c7cece9d5ed7d0f5d638be16312626b1165f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|