# Alert Logic APIs definitions
[![Build Status](https://travis-ci.com/alertlogic/alertlogic-sdk-definitions.svg?branch=master)](https://travis-ci.com/alertlogic/alertlogic-sdk-definitions)
[![PyPI version](https://badge.fury.io/py/alertlogic-sdk-definitions.svg)](https://badge.fury.io/py/alertlogic-sdk-definitions)
Repository contains static definitions of Alert Logic APIs, used for documentation generation,
[SDK](https://github.com/alertlogic/alertlogic-sdk-python) and [CLI](https://github.com/alertlogic/alcli).
### 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](https://github.com/alertlogic/alertlogic-sdk-definitions/releases)
#### 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](doc/automatic_releases.md)
Raw data
{
"_id": null,
"home_page": "https://github.com/alertlogic/alertlogic-sdk-definitions",
"name": "alertlogic-sdk-definitions",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "alcli, almdr, alsdkdefs, alertlogic, alertlogic-cli",
"author": "Alert Logic Inc.",
"author_email": "devsupport@alertlogic.com",
"download_url": "https://files.pythonhosted.org/packages/ab/88/25e0a6ebcb2209b0666216239105b71e0a106a104bdd9b3bb2f6b62f5c21/alertlogic_sdk_definitions-0.1.156.tar.gz",
"platform": "any",
"description": "# Alert Logic APIs definitions\n\n[![Build Status](https://travis-ci.com/alertlogic/alertlogic-sdk-definitions.svg?branch=master)](https://travis-ci.com/alertlogic/alertlogic-sdk-definitions)\n[![PyPI version](https://badge.fury.io/py/alertlogic-sdk-definitions.svg)](https://badge.fury.io/py/alertlogic-sdk-definitions)\n\nRepository contains static definitions of Alert Logic APIs, used for documentation generation, \n[SDK](https://github.com/alertlogic/alertlogic-sdk-python) and [CLI](https://github.com/alertlogic/alcli).\n\n### Usage\n\n#### Install \n`pip install alertlogic-sdk-definitions`\n\nFor the one who doesn't require python code, GitHub releases are produced \ncontaining an archive with OpenAPI definitions only, see\n[here](https://github.com/alertlogic/alertlogic-sdk-definitions/releases)\n\n#### Test\n`python -m unittest`\n\n#### Use\n\nList available service definitions:\n```\n>>> import alsdkdefs\n>>> alsdkdefs.list_services()\nOrderedDict([('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))])\n```\n\nGet path to a service definitions paths:\n```\n>>> import alsdkdefs\n>>> alsdkdefs.get_service_defs(\"aerta\")\n['/usr/local/lib/python3.8/site-packages/alsdkdefs/apis/aerta/aerta.v1.yaml']\n```\n\nGet normalised service spec of a service(all refs resolved, \n path parameters moved to the methods, \n allOfs are merged if possible):\n```\n>>> import alsdkdefs\n>>> alsdkdefs.load_service_spec(\"aerta\")\n```\n\nValidate service spec: \n```\n>>> import alsdkdefs\n>>> service_spec = alsdkdefs.load_service_spec(\"aerta\")\n>>> alsdkdefs.validate(service_spec)\n```\n\n#### Quick validation of a definition\n\nWhile YAML definition is developed apart from the current package and current repo,\nit is required to validate it prior to push, please add this to your `Makefile` \nin order to achieve quick validation:\n\n`curl -s https://raw.githubusercontent.com/alertlogic/alertlogic-sdk-definitions/master/scripts/validate_my_definition.sh | bash -s <path/to/definitions/directory>`\n\nIf no directory is specified, by default `doc/openapi/` directory will be used, if such behaviour is desired, use following line instead:\n\n`curl -s https://raw.githubusercontent.com/alertlogic/alertlogic-sdk-definitions/master/scripts/validate_my_definition.sh | bash `\n\nIt is recommended to invoke it via curl, since validation of the definitions might be extended with time.\nScript requires `python3` to be available in the system.\n\nValidation checks:\n* YAML of a definition is valid\n* Definition passes OpenAPI 3 schema validation\n\n### Development\n\nPlease submit a PR. Please note that API definitions are updated automatically and any changes to it will be overwritten, see:\n[automatic update process](doc/automatic_releases.md)\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "The Alert Logic API definitions.",
"version": "0.1.156",
"project_urls": {
"Homepage": "https://github.com/alertlogic/alertlogic-sdk-definitions"
},
"split_keywords": [
"alcli",
" almdr",
" alsdkdefs",
" alertlogic",
" alertlogic-cli"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a57aac985535017d1c406c1cd33b5d4f1423fa17272aab0fb66dab2aab501e3c",
"md5": "eb0d060b64f3492b1d25129ee5fa910a",
"sha256": "9cf7fef30f8412f1f2d07da3d14b4ec35c3e6880acb67f368ff5ee129936c74b"
},
"downloads": -1,
"filename": "alertlogic_sdk_definitions-0.1.156-py3-none-any.whl",
"has_sig": false,
"md5_digest": "eb0d060b64f3492b1d25129ee5fa910a",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 1237257,
"upload_time": "2024-11-14T12:07:02",
"upload_time_iso_8601": "2024-11-14T12:07:02.851692Z",
"url": "https://files.pythonhosted.org/packages/a5/7a/ac985535017d1c406c1cd33b5d4f1423fa17272aab0fb66dab2aab501e3c/alertlogic_sdk_definitions-0.1.156-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ab8825e0a6ebcb2209b0666216239105b71e0a106a104bdd9b3bb2f6b62f5c21",
"md5": "cb207a5b6e90631890669688dff8672a",
"sha256": "fe7668bb97fe161b044a852cb7b9e782c81d8d2dd002fc5567f3b52438af0f4d"
},
"downloads": -1,
"filename": "alertlogic_sdk_definitions-0.1.156.tar.gz",
"has_sig": false,
"md5_digest": "cb207a5b6e90631890669688dff8672a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 1251451,
"upload_time": "2024-11-14T12:07:05",
"upload_time_iso_8601": "2024-11-14T12:07:05.137024Z",
"url": "https://files.pythonhosted.org/packages/ab/88/25e0a6ebcb2209b0666216239105b71e0a106a104bdd9b3bb2f6b62f5c21/alertlogic_sdk_definitions-0.1.156.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-14 12:07:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "alertlogic",
"github_project": "alertlogic-sdk-definitions",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"tox": true,
"lcname": "alertlogic-sdk-definitions"
}