Skip to main content

The Alert Logic API definitions.

Project description

Alert Logic APIs definitions

Build Status PyPI version

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

alertlogic_sdk_definitions-0.1.164.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

alertlogic_sdk_definitions-0.1.164-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file alertlogic_sdk_definitions-0.1.164.tar.gz.

File metadata

File hashes

Hashes for alertlogic_sdk_definitions-0.1.164.tar.gz
Algorithm Hash digest
SHA256 8b800495af36798bde4a09c8fe25ffb51e72424cd04dd835f2bb50fd9b968358
MD5 8924ad849f472c66fb2a96f72a7fd7ef
BLAKE2b-256 cea9b02f08eb4cba0482c69a805f17a77d8b76046d480452b01b5a0dfe289c10

See more details on using hashes here.

File details

Details for the file alertlogic_sdk_definitions-0.1.164-py3-none-any.whl.

File metadata

File hashes

Hashes for alertlogic_sdk_definitions-0.1.164-py3-none-any.whl
Algorithm Hash digest
SHA256 c2b8028db55d7a3903edf766a8fc1cb5cafda93a2504f652d90c0f5d337ba495
MD5 aa1793b59f5fec975ddee74cd3b1ac84
BLAKE2b-256 8c220f7b4ce7c10b59923f0b7d19b2ecec59a7c1ebaa5cdd480cf134404eb6eb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page