From c08a188ceece033dad781429765aa99cd80ed2a9 Mon Sep 17 00:00:00 2001 From: Sylvain Gaudan Date: Fri, 1 Mar 2024 18:19:11 +0100 Subject: [PATCH 1/3] add persist --- arlas/cli/cli.py | 5 +- arlas/cli/collections.py | 2 +- arlas/cli/persist.py | 80 ++ arlas/cli/service.py | 98 +- arlas/cli/settings.py | 1 + docs/docs/help.md | 1 + docs/docs/index.md | 6 + docs/docs/persist.md | 28 + docs/docs/persist_1.md | 6 + docs/docs/persist_2.md | 1 + docs/docs/started.md | 79 ++ docs/docs/version.md | 2 +- docs/mkdocs.yml | 1 + docs/site/model/index.html | 581 +++++++++ .../index.html | 548 ++++++++ .../index.html | 557 ++++++++ .../index.html | 552 ++++++++ .../index.html | 548 ++++++++ .../index.html | 557 ++++++++ .../index.html | 548 ++++++++ .../index.html | 548 ++++++++ .../index.html | 557 ++++++++ .../index.html | 548 ++++++++ .../index.html | 557 ++++++++ docs/site/model/model-defs-arlas/index.html | 693 ++++++++++ .../index.html | 548 ++++++++ .../index.html | 548 ++++++++ .../index.html | 557 ++++++++ .../index.html | 548 ++++++++ .../index.html | 548 ++++++++ .../index.html | 557 ++++++++ .../index.html | 548 ++++++++ .../index.html | 548 ++++++++ .../index.html | 557 ++++++++ .../index.html | 548 ++++++++ .../index.html | 548 ++++++++ .../index.html | 570 ++++++++ .../index.html | 548 ++++++++ .../index.html | 548 ++++++++ .../index.html | 552 ++++++++ .../index.html | 781 +++++++++++ .../index.html | 548 ++++++++ .../index.html | 548 ++++++++ .../index.html | 587 +++++++++ .../index.html | 548 ++++++++ .../index.html | 557 ++++++++ .../site/model/model-defs-resource/index.html | 621 +++++++++ docs/site/model/model-defs/index.html | 548 ++++++++ .../index.html | 587 +++++++++ .../index.html | 587 +++++++++ .../index.html | 587 +++++++++ docs/site/model/model.schema.json | 1 + docs/site/model/model/index.html | 1149 +++++++++++++++++ scripts/mkdocs.sh | 7 + 54 files changed, 23010 insertions(+), 23 deletions(-) create mode 100644 arlas/cli/persist.py create mode 100644 docs/docs/persist.md create mode 100644 docs/docs/persist_1.md create mode 100644 docs/docs/persist_2.md create mode 100644 docs/site/model/index.html create mode 100644 docs/site/model/model-defs-arlas-properties-arlas-iam-url-anyof-1/index.html create mode 100644 docs/site/model/model-defs-arlas-properties-arlas-iam-url/index.html create mode 100644 docs/site/model/model-defs-arlas-properties-arlas-server/index.html create mode 100644 docs/site/model/model-defs-arlas-properties-dictionary-of-namees-resources-anyof-1/index.html create mode 100644 docs/site/model/model-defs-arlas-properties-dictionary-of-namees-resources/index.html create mode 100644 docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration-anyof-0/index.html create mode 100644 docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration-anyof-1/index.html create mode 100644 docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration/index.html create mode 100644 docs/site/model/model-defs-arlas-properties-keycloak-url-anyof-1/index.html create mode 100644 docs/site/model/model-defs-arlas-properties-keycloak-url/index.html create mode 100644 docs/site/model/model-defs-arlas/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-client-id-anyof-0/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-client-id-anyof-1/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-client-id/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-client-secret-anyof-0/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-client-secret-anyof-1/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-client-secret/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password-anyof-0/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password-anyof-1/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service-anyof-0/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service-anyof-1/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-login/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-password/index.html create mode 100644 docs/site/model/model-defs-authorizationservice-properties-token-url-of-the-authentication-service/index.html create mode 100644 docs/site/model/model-defs-authorizationservice/index.html create mode 100644 docs/site/model/model-defs-resource-properties-file-or-http-location/index.html create mode 100644 docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-0-additionalproperties/index.html create mode 100644 docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-0/index.html create mode 100644 docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-1/index.html create mode 100644 docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests/index.html create mode 100644 docs/site/model/model-defs-resource/index.html create mode 100644 docs/site/model/model-defs/index.html create mode 100644 docs/site/model/model-properties-dictionary-of-namearlas-configurations/index.html create mode 100644 docs/site/model/model-properties-dictionary-of-namemapping-resources/index.html create mode 100644 docs/site/model/model-properties-dictionary-of-namemodel-resources/index.html create mode 100644 docs/site/model/model.schema.json create mode 100644 docs/site/model/model/index.html diff --git a/arlas/cli/cli.py b/arlas/cli/cli.py index 7ed2be3..c250c17 100644 --- a/arlas/cli/cli.py +++ b/arlas/cli/cli.py @@ -4,6 +4,7 @@ from arlas.cli.collections import collections from arlas.cli.configurations import configurations +from arlas.cli.persist import persist from arlas.cli.index import indices from arlas.cli.variables import variables from arlas.cli.settings import ARLAS, Configuration, Resource, Settings @@ -36,7 +37,8 @@ def init( arlas={ "demo": ARLAS(server=Resource(location="https://demo.cloud.arlas.io/arlas/server", headers={"Content-Type": "application/json"})), "local": ARLAS( - server=Resource(location="http://localhost:9999/arlas", headers={"Content-Type": "application/json"}), + server=Resource(location="http://localhost/arlas", headers={"Content-Type": "application/json"}), + persistence=Resource(location="http://localhost/persist", headers={"Content-Type": "application/json"}), elastic=Resource(location="http://localhost:9200", headers={"Content-Type": "application/json"}), allow_delete=True ) @@ -56,6 +58,7 @@ def init( def main(): app.add_typer(collections, name="collections") app.add_typer(indices, name="indices") + app.add_typer(persist, name="persist") app.add_typer(configurations, name="confs") app() diff --git a/arlas/cli/collections.py b/arlas/cli/collections.py index 2eeac96..024daa5 100644 --- a/arlas/cli/collections.py +++ b/arlas/cli/collections.py @@ -13,7 +13,7 @@ @collections.callback() def configuration(config: str = typer.Option(help="Name of the ARLAS configuration to use from your configuration file ({}).".format(variables["configuration_file"]))): - variables["arlas"] = config + variables["arlas"] = config @collections.command(help="List collections", name="list") diff --git a/arlas/cli/persist.py b/arlas/cli/persist.py new file mode 100644 index 0000000..04d5877 --- /dev/null +++ b/arlas/cli/persist.py @@ -0,0 +1,80 @@ +import json +import typer +import os +import sys +from prettytable import PrettyTable + +from arlas.cli.settings import Resource +from arlas.cli.service import Service +from arlas.cli.variables import variables + +persist = typer.Typer() + + +@persist.callback() +def configuration(config: str = typer.Option(help="Name of the ARLAS configuration to use from your configuration file ({}).".format(variables["configuration_file"]))): + variables["arlas"] = config + + +@persist.command(help="Add an entry, returns its ID", name="add") +def add( + file: str = typer.Argument(help="File path"), + zone: str = typer.Argument(help="zone"), + name: str = typer.Option(help="name", default="none"), + reader: list[str] = typer.Option(help="Readers", default=[]), + writer: list[str] = typer.Option(help="writers", default=[]), + encode: bool = typer.Option(help="Encode in BASE64", default=False) +): + config = variables["arlas"] + id = Service.persistence_add_file(config, Resource(location=file), zone=zone, name=name, readers=reader, encode=encode) + print(id) + + +@persist.command(help="Delete an entry", name="delete") +def delete( + id: str = typer.Argument(help="entry identifier") +): + config = variables["arlas"] + Service.persistence_delete(config, id=id) + print("Resource {} deleted.".format(id)) + + +@persist.command(help="Retrieve an entry", name="get") +def get( + id: str = typer.Argument(help="entry identifier") +): + config = variables["arlas"] + print(Service.persistence_get(config, id=id).get("doc_value")) + + +@persist.command(help="List entries within a zone", name="zone") +def zone( + zone: str = typer.Argument(help="Zone name") +): + config = variables["arlas"] + table = Service.persistence_zone(config, zone=zone) + tab = PrettyTable(table[0], sortby="name", align="l") + tab.add_rows(table[1:]) + print(tab) + + +@persist.command(help="List groups allowed to access a zone", name="groups") +def groups( + zone: str = typer.Argument(help="Zone name") +): + config = variables["arlas"] + table = Service.persistence_groups(config, zone=zone) + tab = PrettyTable(table[0], sortby="group", align="l") + tab.add_rows(table[1:]) + print(tab) + + +@persist.command(help="Describe an entry", name="describe") +def describe( + id: str = typer.Argument(help="entry identifier") +): + config = variables["arlas"] + table = Service.persistence_describe(config, id=id) + tab = PrettyTable(table[0], sortby="metadata", align="l") + tab.add_rows(table[1:]) + print(tab) diff --git a/arlas/cli/service.py b/arlas/cli/service.py index c42bd6e..62ffb3f 100644 --- a/arlas/cli/service.py +++ b/arlas/cli/service.py @@ -1,10 +1,11 @@ +from enum import Enum import json import os import sys from alive_progress import alive_bar import requests -from arlas.cli.settings import Configuration, Resource +from arlas.cli.settings import ARLAS, Configuration, Resource class RequestException(Exception): @@ -13,6 +14,11 @@ def __init__(self, code, message): self.message = message +class Services(Enum): + arlas_server = "server" + persistence_server = "persistence" + + class Service: def list_collections(arlas: str) -> list[list[str]]: @@ -134,7 +140,50 @@ def count_hits(file_path: str) -> int: with open(file_path) as f: for line in f: line_number = line_number + 1 - return line_number + return line_number + + def persistence_add_file(arlas: str, file: Resource, zone: str, name: str, encode: bool = False, readers: list[str] = [], writers: list[str] = []): + content = Service.__fetch__(file) + url = "/".join(["persist", "resource", zone, name]) + "?" + "&readers=".join(readers) + "&writers=".join(writers) + return Service.__arlas__(arlas, url, post=content, service=Services.persistence_server).get("id") + + def persistence_delete(arlas: str, id: str): + url = "/".join(["persist", "resource", "id", id]) + return Service.__arlas__(arlas, url, delete=True, service=Services.persistence_server) + + def persistence_get(arlas: str, id: str): + url = "/".join(["persist", "resource", "id", id]) + return Service.__arlas__(arlas, url, service=Services.persistence_server) + + def persistence_zone(arlas: str, zone: str): + url = "/".join(["persist", "resources", zone]) + "?size=10&page=1&order=desc&pretty=false" + table = [["id", "name", "zone", "last_update_date", "owner"]] + entries = Service.__arlas__(arlas, url, service=Services.persistence_server).get("data", []) + for entry in entries: + table.append([entry["id"], entry["doc_key"], entry["doc_zone"], entry["last_update_date"], entry["doc_owner"]]) + return table + + def persistence_groups(arlas: str, zone: str): + url = "/".join(["persist", "groups", zone]) + table = [["group"]] + groups = Service.__arlas__(arlas, url, service=Services.persistence_server) + for group in groups: + table.append([group]) + return table + + def persistence_describe(arlas: str, id: str): + url = "/".join(["persist", "resource", "id", id]) + r = Service.__arlas__(arlas, url, service=Services.persistence_server) + table = [["metadata", "value"]] + table.append(["ID", r.get("id")]) + table.append(["name", r.get("doc_key")]) + table.append(["zone", r.get("doc_zone")]) + table.append(["last_update_date", r.get("last_update_date")]) + table.append(["owner", r.get("doc_owner")]) + table.append(["organization", r.get("doc_organization")]) + table.append(["ispublic", r.get("ispublic")]) + table.append(["updatable", r.get("updatable")]) + return table def __index_bulk__(arlas: str, index: str, bulk: []): data = os.linesep.join([json.dumps(line) for line in bulk]) + os.linesep @@ -185,29 +234,38 @@ def __get_fields__(origin: list[str], properties: dict[str:dict]): fields.append([".".join(o), type]) return fields - def __arlas__(arlas: str, suffix, post=None, put=None, delete=None): + def __arlas__(arlas: str, suffix, post=None, put=None, delete=None, service=Services.arlas_server): + configuration: ARLAS = Configuration.settings.arlas.get(arlas, {}) + if configuration is None: + print("Error: arlas configuration ({}) not found among [{}] for {}.".format(arlas, ", ".join(Configuration.settings.arlas.keys()), service.name), file=sys.stderr) + exit(1) + if service == Services.arlas_server: + endpoint: Resource = configuration.server + else: + endpoint: Resource = configuration.persistence __headers__ = Configuration.settings.arlas.get(arlas).server.headers.copy() if Configuration.settings.arlas.get(arlas).authorization is not None: __headers__["Authorization"] = "Bearer " + Service.__get_token__(arlas) - endpoint = Configuration.settings.arlas.get(arlas) - if endpoint is None: - print("Error: arlas configuration ({}) not found among [{}].".format(arlas, ", ".join(Configuration.settings.arlas.keys())), file=sys.stderr) - exit(1) - url = "/".join([endpoint.server.location, suffix]) - if post: - r = requests.post(url, data=post, headers=__headers__) - else: - if put: - r = requests.put(url, data=put, headers=__headers__) + url = "/".join([endpoint.location, suffix]) + try: + if post: + r = requests.post(url, data=post, headers=__headers__) else: - if delete: - r = requests.delete(url, headers=__headers__) + if put: + r = requests.put(url, data=put, headers=__headers__) else: - r = requests.get(url, headers=__headers__) - if r.ok: - return r.json() - else: - print("Error: request failed with status {}: {}".format(str(r.status_code), r.content), file=sys.stderr) + if delete: + r = requests.delete(url, headers=__headers__) + else: + r = requests.get(url, headers=__headers__) + if r.ok: + return r.json() + else: + print("Error: request failed with status {}: {}".format(str(r.status_code), r.content), file=sys.stderr) + print(" url: {}".format(url), file=sys.stderr) + exit(1) + except Exception as e: + print("Error: request failed: {}".format(e), file=sys.stderr) print(" url: {}".format(url), file=sys.stderr) exit(1) diff --git a/arlas/cli/settings.py b/arlas/cli/settings.py index 39e6f01..8ff7b3e 100644 --- a/arlas/cli/settings.py +++ b/arlas/cli/settings.py @@ -20,6 +20,7 @@ class AuthorizationService(BaseModel): class ARLAS(BaseModel): + persistence: Resource | None = Field(title="ARLAS Persistence Server", default=None) server: Resource = Field(title="ARLAS Server") authorization: AuthorizationService | None = Field(default=None, title="Keycloak URL") elastic: Resource | None = Field(default=None, title="dictionary of name/es resources") diff --git a/docs/docs/help.md b/docs/docs/help.md index a51879b..c973ca6 100644 --- a/docs/docs/help.md +++ b/docs/docs/help.md @@ -20,6 +20,7 @@ Whether you are at the top level: │ collections │ │ confs │ │ indices │ +│ persist │ ╰────────────────────────────────────────────────────────────────────╯ ``` diff --git a/docs/docs/index.md b/docs/docs/index.md index 965cf4f..6067fac 100644 --- a/docs/docs/index.md +++ b/docs/docs/index.md @@ -15,6 +15,12 @@ __ARLAS Exploration__ is an Open Source software for exploring and analysing Geo - list collections - describe a collection - delete a collection +- managing ARLAS persistence + - create a entry in a zone + - list entries within a zone + - describe an entry + - delete an entry + - get the groups accessing a zone - managing configurations - register an ARLAS/elasticsearch configuration, with headers and authentication parameters - delete a configuration diff --git a/docs/docs/persist.md b/docs/docs/persist.md new file mode 100644 index 0000000..7a8bef5 --- /dev/null +++ b/docs/docs/persist.md @@ -0,0 +1,28 @@ +## Manage pesistence + +ARLAS Persistence allows you to place files within zones. A zone is visible by groups. It is also possible to set the access: writers, readers and whether it is public or not. + + +```shell +> arlas_cli persist --help + + Usage: python -m arlas.cli.cli persist [OPTIONS] COMMAND [ARGS]... + +╭─ Options ──────────────────────────────────────────────────────────╮ +│ * --config TEXT Name of the ARLAS configuration to use │ +│ from your configuration file │ +│ (/Users/gaudan/.arlas/cli/configuration.… │ +│ [default: None] │ +│ [required] │ +│ --help Show this message and exit. │ +╰────────────────────────────────────────────────────────────────────╯ +╭─ Commands ─────────────────────────────────────────────────────────╮ +│ add Add an entry, returns its ID │ +│ delete Delete an entry │ +│ describe Describe an entry │ +│ get Retrieve an entry │ +│ groups List groups allowed to access a zone │ +│ zone List entries within a zone │ +╰────────────────────────────────────────────────────────────────────╯ + +``` diff --git a/docs/docs/persist_1.md b/docs/docs/persist_1.md new file mode 100644 index 0000000..4988b07 --- /dev/null +++ b/docs/docs/persist_1.md @@ -0,0 +1,6 @@ +## Manage pesistence + +ARLAS Persistence allows you to place files within zones. A zone is visible by groups. It is also possible to set the access: writers, readers and whether it is public or not. + + +```shell diff --git a/docs/docs/persist_2.md b/docs/docs/persist_2.md new file mode 100644 index 0000000..8c5b07d --- /dev/null +++ b/docs/docs/persist_2.md @@ -0,0 +1 @@ +``` diff --git a/docs/docs/started.md b/docs/docs/started.md index eb4b797..f249124 100644 --- a/docs/docs/started.md +++ b/docs/docs/started.md @@ -37,6 +37,7 @@ In the following examples, you will see how to: - get the structure of a ARLAS collection - delete a collection from ARLAS - delete a mapping from elasticsearch +- add, describe, get, list and delete an entry from ARLAS Persistence - list, create, describe and delete a configuration for `arlas_cli` ... with the `arlas_cli` command line only! @@ -194,6 +195,84 @@ To add a specific mapping, it is possible to use the `create`` command: By default, it is not allowed to delete an index for a given configuration. To allow deleting, edit the configuration file and set `allow_delete` to `True`. +## ARLAS Persistence + +### Add an entry + + +```shell +> arlas_cli persist --config local add ../arlas-stacks4tests/conf/config.json config.json --name courses_dashboard +32d2624b-d7cd-11ee-9a91-0242ac130004 +``` + +### Describe an entry + + +```shell +> arlas_cli persist --config local describe 32d2624b-d7cd-11ee-9a91-0242ac130004 ++------------------+--------------------------------------+ +| metadata | value | ++------------------+--------------------------------------+ +| ID | 6a415cec-d7cd-11ee-9a91-0242ac130004 | +| ispublic | None | +| last_update_date | 1709298774600 | +| name | courses_dashboard | +| organization | None | +| owner | anonymous | +| updatable | True | +| zone | config.json | ++------------------+--------------------------------------+ +``` + +### Get an entry value + + +```shell +> arlas_cli persist --config local get 32d2624b-d7cd-11ee-9a91-0242ac130004 +{ + "arlas": { + "web": { + "contributors": [ +... +} +``` + +### List entries within a zone + + +```shell +> arlas_cli persist --config local zone config.json ++--------------------------------------+-------------------+-------------+------------------+-----------+ +| id | name | zone | last_update_date | owner | ++--------------------------------------+-------------------+-------------+------------------+-----------+ +| 66984014-d0a1-11ee-b41c-0242ac190004 | Courses | config.json | 1708510231303 | anonymous | +... ++--------------------------------------+-------------------+-------------+------------------+-----------+ +``` + + +### List groups accessing a zone + + +```shell +> arlas_cli persist --config local groups config.json ++--------------+ +| group | ++--------------+ +| group/public | ++--------------+ +``` + + +### Delete an entry + + +```shell +> arlas_cli persist --config local delete 32d2624b-d7cd-11ee-9a91-0242ac130004 +Resource 32d2624b-d7cd-11ee-9a91-0242ac130004 deleted. +``` + + ## Configurations diff --git a/docs/docs/version.md b/docs/docs/version.md index e20d2c5..88aef95 100644 --- a/docs/docs/version.md +++ b/docs/docs/version.md @@ -1,2 +1,2 @@ ARLAS Version: -0.2.9 +0.2.11 diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index a8618a4..5fd09fb 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -35,6 +35,7 @@ nav: - Getting help: help.md - Indices: indices.md - Collections: collections.md + - Persistence: persist.md - Configurations: confs.md - Configuration data model: model/model.md diff --git a/docs/site/model/index.html b/docs/site/model/index.html new file mode 100644 index 0000000..cc6a435 --- /dev/null +++ b/docs/site/model/index.html @@ -0,0 +1,581 @@ + + + + + + + + + + + + + + + + + + + + + + + + + README - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

README

+

Top-level Schemas

+ +

Other Schemas

+

Objects

+ +

Arrays

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-arlas-properties-arlas-iam-url-anyof-1/index.html b/docs/site/model/model-defs-arlas-properties-arlas-iam-url-anyof-1/index.html new file mode 100644 index 0000000..abc98d2 --- /dev/null +++ b/docs/site/model/model-defs-arlas-properties-arlas-iam-url-anyof-1/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled null in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled null in Settings Schema

+
airs_model#/$defs/ARLAS/properties/iam/anyOf/1
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

1 Type

+

null, the value must be null

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-arlas-properties-arlas-iam-url/index.html b/docs/site/model/model-defs-arlas-properties-arlas-iam-url/index.html new file mode 100644 index 0000000..b3ed0bd --- /dev/null +++ b/docs/site/model/model-defs-arlas-properties-arlas-iam-url/index.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ARLAS IAM URL Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ARLAS IAM URL Schema

+
airs_model#/$defs/ARLAS/properties/iam
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

iam Type

+

merged type (ARLAS IAM URL)

+

any of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-arlas-properties-arlas-server/index.html b/docs/site/model/model-defs-arlas-properties-arlas-server/index.html new file mode 100644 index 0000000..5c5ad7a --- /dev/null +++ b/docs/site/model/model-defs-arlas-properties-arlas-server/index.html @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ARLAS Server Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ARLAS Server Schema

+
airs_model#/$defs/ARLAS/properties/server
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

server Type

+

merged type (ARLAS Server)

+

all of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-arlas-properties-dictionary-of-namees-resources-anyof-1/index.html b/docs/site/model/model-defs-arlas-properties-dictionary-of-namees-resources-anyof-1/index.html new file mode 100644 index 0000000..8d26772 --- /dev/null +++ b/docs/site/model/model-defs-arlas-properties-dictionary-of-namees-resources-anyof-1/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled null in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled null in Settings Schema

+
airs_model#/$defs/ARLAS/properties/elastic/anyOf/1
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

1 Type

+

null, the value must be null

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-arlas-properties-dictionary-of-namees-resources/index.html b/docs/site/model/model-defs-arlas-properties-dictionary-of-namees-resources/index.html new file mode 100644 index 0000000..c74996b --- /dev/null +++ b/docs/site/model/model-defs-arlas-properties-dictionary-of-namees-resources/index.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + dictionary of name/es resources Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

dictionary of name/es resources Schema

+
airs_model#/$defs/ARLAS/properties/elastic
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

elastic Type

+

merged type (dictionary of name/es resources)

+

any of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration-anyof-0/index.html b/docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration-anyof-0/index.html new file mode 100644 index 0000000..5153eae --- /dev/null +++ b/docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration-anyof-0/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled boolean in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled boolean in Settings Schema

+
airs_model#/$defs/ARLAS/properties/allow_delete/anyOf/0
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

0 Type

+

boolean

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration-anyof-1/index.html b/docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration-anyof-1/index.html new file mode 100644 index 0000000..962e5da --- /dev/null +++ b/docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration-anyof-1/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled null in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled null in Settings Schema

+
airs_model#/$defs/ARLAS/properties/allow_delete/anyOf/1
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

1 Type

+

null, the value must be null

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration/index.html b/docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration/index.html new file mode 100644 index 0000000..c2ad550 --- /dev/null +++ b/docs/site/model/model-defs-arlas-properties-is-delete-command-allowed-for-this-configuration/index.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Is delete command allowed for this configuration? Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Is delete command allowed for this configuration? Schema

+
airs_model#/$defs/ARLAS/properties/allow_delete
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

allow_delete Type

+

merged type (Is delete command allowed for this configuration?)

+

any of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-arlas-properties-keycloak-url-anyof-1/index.html b/docs/site/model/model-defs-arlas-properties-keycloak-url-anyof-1/index.html new file mode 100644 index 0000000..e86d591 --- /dev/null +++ b/docs/site/model/model-defs-arlas-properties-keycloak-url-anyof-1/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled null in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled null in Settings Schema

+
airs_model#/$defs/ARLAS/properties/authorization/anyOf/1
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

1 Type

+

null, the value must be null

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-arlas-properties-keycloak-url/index.html b/docs/site/model/model-defs-arlas-properties-keycloak-url/index.html new file mode 100644 index 0000000..ddcd41e --- /dev/null +++ b/docs/site/model/model-defs-arlas-properties-keycloak-url/index.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Keycloak URL Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Keycloak URL Schema

+
airs_model#/$defs/ARLAS/properties/authorization
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

authorization Type

+

merged type (Keycloak URL)

+

any of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-arlas/index.html b/docs/site/model/model-defs-arlas/index.html new file mode 100644 index 0000000..8671a84 --- /dev/null +++ b/docs/site/model/model-defs-arlas/index.html @@ -0,0 +1,693 @@ + + + + + + + + + + + + + + + + + + + + + + + + + ARLAS Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

ARLAS Schema

+
airs_model#/properties/arlas/additionalProperties
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusNoForbiddenAllowednonemodel.schema.json*
+

additionalProperties Type

+

object (ARLAS)

+

additionalProperties Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeRequiredNullableDefined by
serverMergedRequiredcannot be nullSettings
authorizationMergedOptionalcannot be nullSettings
elasticMergedOptionalcannot be nullSettings
allow_deleteMergedOptionalcannot be nullSettings
+

server

+

server

+
    +
  • +

    is required

    +
  • +
  • +

    Type: merged type (ARLAS Server)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

server Type

+

merged type (ARLAS Server)

+

all of

+ +

authorization

+

authorization

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: merged type (Keycloak URL)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

authorization Type

+

merged type (Keycloak URL)

+

any of

+ +

elastic

+

elastic

+ +

elastic Type

+

merged type (dictionary of name/es resources)

+

any of

+ +

allow_delete

+

allow_delete

+ +

allow_delete Type

+

merged type (Is delete command allowed for this configuration?)

+

any of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-client-id-anyof-0/index.html b/docs/site/model/model-defs-authorizationservice-properties-client-id-anyof-0/index.html new file mode 100644 index 0000000..528f530 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-client-id-anyof-0/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled string in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled string in Settings Schema

+
airs_model#/$defs/AuthorizationService/properties/client_id/anyOf/0
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

0 Type

+

string

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-client-id-anyof-1/index.html b/docs/site/model/model-defs-authorizationservice-properties-client-id-anyof-1/index.html new file mode 100644 index 0000000..f180479 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-client-id-anyof-1/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled null in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled null in Settings Schema

+
airs_model#/$defs/AuthorizationService/properties/client_id/anyOf/1
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

1 Type

+

null, the value must be null

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-client-id/index.html b/docs/site/model/model-defs-authorizationservice-properties-client-id/index.html new file mode 100644 index 0000000..75859f7 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-client-id/index.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Client ID Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Client ID Schema

+
airs_model#/$defs/AuthorizationService/properties/client_id
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

client_id Type

+

merged type (Client ID)

+

any of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-client-secret-anyof-0/index.html b/docs/site/model/model-defs-authorizationservice-properties-client-secret-anyof-0/index.html new file mode 100644 index 0000000..5e953b2 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-client-secret-anyof-0/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled string in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled string in Settings Schema

+
airs_model#/$defs/AuthorizationService/properties/client_secret/anyOf/0
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

0 Type

+

string

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-client-secret-anyof-1/index.html b/docs/site/model/model-defs-authorizationservice-properties-client-secret-anyof-1/index.html new file mode 100644 index 0000000..d035bb9 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-client-secret-anyof-1/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled null in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled null in Settings Schema

+
airs_model#/$defs/AuthorizationService/properties/client_secret/anyOf/1
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

1 Type

+

null, the value must be null

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-client-secret/index.html b/docs/site/model/model-defs-authorizationservice-properties-client-secret/index.html new file mode 100644 index 0000000..307b7a7 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-client-secret/index.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Client secret Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Client secret Schema

+
airs_model#/$defs/AuthorizationService/properties/client_secret
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

client_secret Type

+

merged type (Client secret)

+

any of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password-anyof-0/index.html b/docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password-anyof-0/index.html new file mode 100644 index 0000000..d581a34 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password-anyof-0/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled string in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled string in Settings Schema

+
airs_model#/$defs/AuthorizationService/properties/grant_type/anyOf/0
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

0 Type

+

string

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password-anyof-1/index.html b/docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password-anyof-1/index.html new file mode 100644 index 0000000..db8d58a --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password-anyof-1/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled null in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled null in Settings Schema

+
airs_model#/$defs/AuthorizationService/properties/grant_type/anyOf/1
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

1 Type

+

null, the value must be null

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password/index.html b/docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password/index.html new file mode 100644 index 0000000..f26db91 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-grant-type-eg-password/index.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Grant type (e.g. password) Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Grant type (e.g. password) Schema

+
airs_model#/$defs/AuthorizationService/properties/grant_type
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

grant_type Type

+

merged type (Grant type (e.g. password))

+

any of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service-anyof-0/index.html b/docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service-anyof-0/index.html new file mode 100644 index 0000000..044a458 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service-anyof-0/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled boolean in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled boolean in Settings Schema

+
airs_model#/$defs/AuthorizationService/properties/arlas_iam/anyOf/0
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

0 Type

+

boolean

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service-anyof-1/index.html b/docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service-anyof-1/index.html new file mode 100644 index 0000000..1057419 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service-anyof-1/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled null in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled null in Settings Schema

+
airs_model#/$defs/AuthorizationService/properties/arlas_iam/anyOf/1
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

1 Type

+

null, the value must be null

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service/index.html b/docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service/index.html new file mode 100644 index 0000000..97f12d8 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-is-it-an-arlas-iam-service/index.html @@ -0,0 +1,570 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Is it an ARLAS IAM service? Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Is it an ARLAS IAM service? Schema

+
airs_model#/$defs/AuthorizationService/properties/arlas_iam
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

arlas_iam Type

+

merged type (Is it an ARLAS IAM service?)

+

any of

+ +

arlas_iam Default Value

+

The default value is:

+
true
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-login/index.html b/docs/site/model/model-defs-authorizationservice-properties-login/index.html new file mode 100644 index 0000000..40d4a7e --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-login/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + login Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

login Schema

+
airs_model#/$defs/AuthorizationService/properties/login
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

login Type

+

string (login)

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-password/index.html b/docs/site/model/model-defs-authorizationservice-properties-password/index.html new file mode 100644 index 0000000..065f570 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-password/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + password Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

password Schema

+
airs_model#/$defs/AuthorizationService/properties/password
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

password Type

+

string (password)

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice-properties-token-url-of-the-authentication-service/index.html b/docs/site/model/model-defs-authorizationservice-properties-token-url-of-the-authentication-service/index.html new file mode 100644 index 0000000..b742da2 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice-properties-token-url-of-the-authentication-service/index.html @@ -0,0 +1,552 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Token URL of the authentication service Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Token URL of the authentication service Schema

+
airs_model#/$defs/AuthorizationService/properties/token_url
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

token_url Type

+

merged type (Token URL of the authentication service)

+

all of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-authorizationservice/index.html b/docs/site/model/model-defs-authorizationservice/index.html new file mode 100644 index 0000000..41a3e75 --- /dev/null +++ b/docs/site/model/model-defs-authorizationservice/index.html @@ -0,0 +1,781 @@ + + + + + + + + + + + + + + + + + + + + + + + + + AuthorizationService Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

AuthorizationService Schema

+
airs_model#/$defs/AuthorizationService
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusNoForbiddenAllowednonemodel.schema.json*
+

AuthorizationService Type

+

object (AuthorizationService)

+

AuthorizationService Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeRequiredNullableDefined by
token_urlMergedOptionalcannot be nullSettings
loginstringOptionalcannot be nullSettings
passwordstringOptionalcannot be nullSettings
client_idMergedOptionalcannot be nullSettings
client_secretMergedOptionalcannot be nullSettings
grant_typeMergedOptionalcannot be nullSettings
arlas_iamMergedOptionalcannot be nullSettings
+

token_url

+

token_url

+ +

token_url Type

+

merged type (Token URL of the authentication service)

+

all of

+ +

login

+

login

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: string (login)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

login Type

+

string (login)

+

password

+

password

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: string (password)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

password Type

+

string (password)

+

client_id

+

client_id

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: merged type (Client ID)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

client_id Type

+

merged type (Client ID)

+

any of

+ +

client_secret

+

client_secret

+ +

client_secret Type

+

merged type (Client secret)

+

any of

+ +

grant_type

+

grant_type

+ +

grant_type Type

+

merged type (Grant type (e.g. password))

+

any of

+ +

arlas_iam

+

arlas_iam

+ +

arlas_iam Type

+

merged type (Is it an ARLAS IAM service?)

+

any of

+ +

arlas_iam Default Value

+

The default value is:

+
true
+
+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-resource-properties-file-or-http-location/index.html b/docs/site/model/model-defs-resource-properties-file-or-http-location/index.html new file mode 100644 index 0000000..f032039 --- /dev/null +++ b/docs/site/model/model-defs-resource-properties-file-or-http-location/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + file or http location Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

file or http location Schema

+
airs_model#/$defs/Resource/properties/location
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

location Type

+

string (file or http location)

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-0-additionalproperties/index.html b/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-0-additionalproperties/index.html new file mode 100644 index 0000000..bbd2ca2 --- /dev/null +++ b/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-0-additionalproperties/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled string in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled string in Settings Schema

+
airs_model#/$defs/Resource/properties/headers/anyOf/0/additionalProperties
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

additionalProperties Type

+

string

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-0/index.html b/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-0/index.html new file mode 100644 index 0000000..bed4ca7 --- /dev/null +++ b/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-0/index.html @@ -0,0 +1,587 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled object in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled object in Settings Schema

+
airs_model#/$defs/Resource/properties/headers/anyOf/0
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

0 Type

+

object (Details)

+

0 Properties

+ + + + + + + + + + + + + + + + + + + +
PropertyTypeRequiredNullableDefined by
Additional PropertiesstringOptionalcannot be nullSettings
+

Additional Properties

+

Additional properties are allowed, as long as they follow this schema:

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: string

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

additionalProperties Type

+

string

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-1/index.html b/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-1/index.html new file mode 100644 index 0000000..416ac6c --- /dev/null +++ b/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests-anyof-1/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled null in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled null in Settings Schema

+
airs_model#/$defs/Resource/properties/headers/anyOf/1
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

1 Type

+

null, the value must be null

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests/index.html b/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests/index.html new file mode 100644 index 0000000..3eb9776 --- /dev/null +++ b/docs/site/model/model-defs-resource-properties-list-of-headers-if-needed-for-https-requests/index.html @@ -0,0 +1,557 @@ + + + + + + + + + + + + + + + + + + + + + + + + + List of headers, if needed, for http(s) requests Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

List of headers, if needed, for http(s) requests Schema

+
airs_model#/$defs/Resource/properties/headers
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

headers Type

+

merged type (List of headers, if needed, for http(s) requests)

+

any of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs-resource/index.html b/docs/site/model/model-defs-resource/index.html new file mode 100644 index 0000000..7015625 --- /dev/null +++ b/docs/site/model/model-defs-resource/index.html @@ -0,0 +1,621 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Resource Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Resource Schema

+
airs_model#/properties/models/additionalProperties
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusNoForbiddenAllowednonemodel.schema.json*
+

additionalProperties Type

+

object (Resource)

+

additionalProperties Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeRequiredNullableDefined by
locationstringOptionalcannot be nullSettings
headersMergedOptionalcannot be nullSettings
+

location

+

location

+ +

location Type

+

string (file or http location)

+

headers

+

headers

+ +

headers Type

+

merged type (List of headers, if needed, for http(s) requests)

+

any of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-defs/index.html b/docs/site/model/model-defs/index.html new file mode 100644 index 0000000..b781d0d --- /dev/null +++ b/docs/site/model/model-defs/index.html @@ -0,0 +1,548 @@ + + + + + + + + + + + + + + + + + + + + + + + + + Untitled undefined type in Settings Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Untitled undefined type in Settings Schema

+
airs_model#/$defs
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

$defs Type

+

unknown

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-properties-dictionary-of-namearlas-configurations/index.html b/docs/site/model/model-properties-dictionary-of-namearlas-configurations/index.html new file mode 100644 index 0000000..2fb5f4d --- /dev/null +++ b/docs/site/model/model-properties-dictionary-of-namearlas-configurations/index.html @@ -0,0 +1,587 @@ + + + + + + + + + + + + + + + + + + + + + + + + + dictionary of name/arlas configurations Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

dictionary of name/arlas configurations Schema

+
airs_model#/properties/arlas
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

arlas Type

+

object (dictionary of name/arlas configurations)

+

arlas Properties

+ + + + + + + + + + + + + + + + + + + +
PropertyTypeRequiredNullableDefined by
Additional PropertiesobjectOptionalcannot be nullSettings
+

Additional Properties

+

Additional properties are allowed, as long as they follow this schema:

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: object (ARLAS)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

additionalProperties Type

+

object (ARLAS)

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-properties-dictionary-of-namemapping-resources/index.html b/docs/site/model/model-properties-dictionary-of-namemapping-resources/index.html new file mode 100644 index 0000000..079114d --- /dev/null +++ b/docs/site/model/model-properties-dictionary-of-namemapping-resources/index.html @@ -0,0 +1,587 @@ + + + + + + + + + + + + + + + + + + + + + + + + + dictionary of name/mapping resources Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

dictionary of name/mapping resources Schema

+
airs_model#/properties/mappings
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

mappings Type

+

object (dictionary of name/mapping resources)

+

mappings Properties

+ + + + + + + + + + + + + + + + + + + +
PropertyTypeRequiredNullableDefined by
Additional PropertiesobjectOptionalcannot be nullSettings
+

Additional Properties

+

Additional properties are allowed, as long as they follow this schema:

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: object (Resource)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

additionalProperties Type

+

object (Resource)

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model-properties-dictionary-of-namemodel-resources/index.html b/docs/site/model/model-properties-dictionary-of-namemodel-resources/index.html new file mode 100644 index 0000000..ba00908 --- /dev/null +++ b/docs/site/model/model-properties-dictionary-of-namemodel-resources/index.html @@ -0,0 +1,587 @@ + + + + + + + + + + + + + + + + + + + + + + + + + dictionary of name/model resources Schema - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

dictionary of name/model resources Schema

+
airs_model#/properties/models
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusUnknown identifiabilityForbiddenAllowednonemodel.schema.json*
+

models Type

+

object (dictionary of name/model resources)

+

models Properties

+ + + + + + + + + + + + + + + + + + + +
PropertyTypeRequiredNullableDefined by
Additional PropertiesobjectOptionalcannot be nullSettings
+

Additional Properties

+

Additional properties are allowed, as long as they follow this schema:

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: object (Resource)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

additionalProperties Type

+

object (Resource)

+ + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/docs/site/model/model.schema.json b/docs/site/model/model.schema.json new file mode 100644 index 0000000..3862c68 --- /dev/null +++ b/docs/site/model/model.schema.json @@ -0,0 +1 @@ +{"$defs": {"ARLAS": {"properties": {"server": {"allOf": [{"$ref": "#/$defs/Resource"}], "title": "ARLAS Server"}, "authorization": {"anyOf": [{"$ref": "#/$defs/AuthorizationService"}, {"type": "null"}], "default": null, "title": "Keycloak URL"}, "elastic": {"anyOf": [{"$ref": "#/$defs/Resource"}, {"type": "null"}], "default": null, "title": "dictionary of name/es resources"}, "allow_delete": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": false, "title": "Is delete command allowed for this configuration?"}}, "required": ["server"], "title": "ARLAS", "type": "object"}, "AuthorizationService": {"properties": {"token_url": {"allOf": [{"$ref": "#/$defs/Resource"}], "default": null, "title": "Token URL of the authentication service"}, "login": {"default": null, "title": "login", "type": "string"}, "password": {"default": null, "title": "password", "type": "string"}, "client_id": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Client ID"}, "client_secret": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Client secret"}, "grant_type": {"anyOf": [{"type": "string"}, {"type": "null"}], "default": null, "title": "Grant type (e.g. password)"}, "arlas_iam": {"anyOf": [{"type": "boolean"}, {"type": "null"}], "default": true, "title": "Is it an ARLAS IAM service?"}}, "title": "AuthorizationService", "type": "object"}, "Resource": {"properties": {"location": {"default": null, "title": "file or http location", "type": "string"}, "headers": {"anyOf": [{"additionalProperties": {"type": "string"}, "type": "object"}, {"type": "null"}], "default": null, "title": "List of headers, if needed, for http(s) requests"}}, "title": "Resource", "type": "object"}}, "properties": {"arlas": {"additionalProperties": {"$ref": "#/$defs/ARLAS"}, "default": null, "title": "dictionary of name/arlas configurations", "type": "object"}, "mappings": {"additionalProperties": {"$ref": "#/$defs/Resource"}, "default": null, "title": "dictionary of name/mapping resources", "type": "object"}, "models": {"additionalProperties": {"$ref": "#/$defs/Resource"}, "default": null, "title": "dictionary of name/model resources", "type": "object"}}, "title": "Settings", "type": "object", "$id": "airs_model"} diff --git a/docs/site/model/model/index.html b/docs/site/model/model/index.html new file mode 100644 index 0000000..2c390ee --- /dev/null +++ b/docs/site/model/model/index.html @@ -0,0 +1,1149 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Configuration data model - ARLAS Command Line (arlas_cli) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Skip to content + + +
+
+ +
+ + + + + + +
+ + +
+ +
+ + + + + + +
+
+ + + +
+
+
+ + + + + +
+
+
+ + + +
+
+
+ + + +
+
+
+ + + +
+
+ + + + +

Settings Schema

+
airs_model
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractExtensibleStatusIdentifiableCustom PropertiesAdditional PropertiesAccess RestrictionsDefined In
Can be instantiatedNoUnknown statusNoForbiddenAllowednonemodel.schema.json
+

Settings Type

+

object (Settings)

+

Settings Properties

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeRequiredNullableDefined by
arlasobjectOptionalcannot be nullSettings
mappingsobjectOptionalcannot be nullSettings
modelsobjectOptionalcannot be nullSettings
+

arlas

+

arlas

+ +

arlas Type

+

object (dictionary of name/arlas configurations)

+

mappings

+

mappings

+ +

mappings Type

+

object (dictionary of name/mapping resources)

+

models

+

models

+ +

models Type

+

object (dictionary of name/model resources)

+

Settings Definitions

+

Definitions group ARLAS

+

Reference this group by using

+
{"$ref":"airs_model#/$defs/ARLAS"}
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeRequiredNullableDefined by
serverMergedRequiredcannot be nullSettings
authorizationMergedOptionalcannot be nullSettings
elasticMergedOptionalcannot be nullSettings
allow_deleteMergedOptionalcannot be nullSettings
+

server

+

server

+
    +
  • +

    is required

    +
  • +
  • +

    Type: merged type (ARLAS Server)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

server Type

+

merged type (ARLAS Server)

+

all of

+ +

authorization

+

authorization

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: merged type (Keycloak URL)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

authorization Type

+

merged type (Keycloak URL)

+

any of

+ +

elastic

+

elastic

+ +

elastic Type

+

merged type (dictionary of name/es resources)

+

any of

+ +

allow_delete

+

allow_delete

+ +

allow_delete Type

+

merged type (Is delete command allowed for this configuration?)

+

any of

+ +

Definitions group AuthorizationService

+

Reference this group by using

+
{"$ref":"airs_model#/$defs/AuthorizationService"}
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeRequiredNullableDefined by
token_urlMergedOptionalcannot be nullSettings
loginstringOptionalcannot be nullSettings
passwordstringOptionalcannot be nullSettings
client_idMergedOptionalcannot be nullSettings
client_secretMergedOptionalcannot be nullSettings
grant_typeMergedOptionalcannot be nullSettings
arlas_iamMergedOptionalcannot be nullSettings
+

token_url

+

token_url

+ +

token_url Type

+

merged type (Token URL of the authentication service)

+

all of

+ +

login

+

login

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: string (login)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

login Type

+

string (login)

+

password

+

password

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: string (password)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

password Type

+

string (password)

+

client_id

+

client_id

+
    +
  • +

    is optional

    +
  • +
  • +

    Type: merged type (Client ID)

    +
  • +
  • +

    cannot be null

    +
  • +
  • +

    defined in: Settings

    +
  • +
+

client_id Type

+

merged type (Client ID)

+

any of

+ +

client_secret

+

client_secret

+ +

client_secret Type

+

merged type (Client secret)

+

any of

+ +

grant_type

+

grant_type

+ +

grant_type Type

+

merged type (Grant type (e.g. password))

+

any of

+ +

arlas_iam

+

arlas_iam

+ +

arlas_iam Type

+

merged type (Is it an ARLAS IAM service?)

+

any of

+ +

arlas_iam Default Value

+

The default value is:

+
true
+
+

Definitions group Resource

+

Reference this group by using

+
{"$ref":"airs_model#/$defs/Resource"}
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyTypeRequiredNullableDefined by
locationstringOptionalcannot be nullSettings
headersMergedOptionalcannot be nullSettings
+

location

+

location

+ +

location Type

+

string (file or http location)

+

headers

+

headers

+ +

headers Type

+

merged type (List of headers, if needed, for http(s) requests)

+

any of

+ + + + + + + + + + + + + + +
+
+ + + +
+ +
+ + + +
+
+
+
+ + + + + + + + + + + + \ No newline at end of file diff --git a/scripts/mkdocs.sh b/scripts/mkdocs.sh index 2bdc594..a8c0faa 100755 --- a/scripts/mkdocs.sh +++ b/scripts/mkdocs.sh @@ -48,6 +48,13 @@ python3 -m arlas.cli.cli collections --config local describe --help >> docs/docs cat docs/docs/collections_4.md >> docs/docs/collections.md +# PERSISTENCE +cat docs/docs/persist_1.md > docs/docs/persist.md +# general +echo "> arlas_cli persist --help" >> docs/docs/persist.md +python3 -m arlas.cli.cli persist --help >> docs/docs/persist.md +cat docs/docs/persist_2.md >> docs/docs/persist.md + # CONFIGURATIONS cat docs/docs/confs_1.md > docs/docs/confs.md From 45c8af9a58cd74f07987f66b5c571fd371231d72 Mon Sep 17 00:00:00 2001 From: Sylvain Gaudan Date: Mon, 4 Mar 2024 15:18:05 +0100 Subject: [PATCH 2/3] persist --- arlas/cli/configurations.py | 4 ++ arlas/cli/index.py | 4 +- arlas/cli/persist.py | 14 +++++- docker/dc-test.yaml | 27 +++++++++--- scripts/stack.env | 1 + scripts/tests.sh | 87 ++++++++++++++++++++++++++++--------- 6 files changed, 108 insertions(+), 29 deletions(-) diff --git a/arlas/cli/configurations.py b/arlas/cli/configurations.py index 3f65361..ebb75e7 100644 --- a/arlas/cli/configurations.py +++ b/arlas/cli/configurations.py @@ -22,6 +22,7 @@ def list_configurations(): def create_configuration( name: str = typer.Argument(help="Name of the configuration"), server: str = typer.Option(help="ARLAS Server url"), + persistence: str = typer.Option(default=None, help="ARLAS Persistence url"), headers: list[str] = typer.Option([], help="header (name:value)"), elastic: str = typer.Option(default=None, help="dictionary of name/es resources"), elastic_headers: list[str] = typer.Option([], help="header (name:value)"), @@ -42,6 +43,9 @@ def create_configuration( conf = ARLAS( server=Resource(location=server, headers=dict(map(lambda h: (h.split(":")[0], h.split(":")[1]), headers))), allow_delete=allow_delete) + if persistence: + conf.persistence = Resource(location=persistence, headers=dict(map(lambda h: (h.split(":")[0], h.split(":")[1]), headers))) + if auth_token_url: conf.authorization = AuthorizationService( token_url=Resource(location=auth_token_url, headers=dict(map(lambda h: (h.split(":")[0], h.split(":")[1]), auth_headers))), diff --git a/arlas/cli/index.py b/arlas/cli/index.py index e1e1f2a..4acea86 100644 --- a/arlas/cli/index.py +++ b/arlas/cli/index.py @@ -121,10 +121,10 @@ def delete( ): config = variables["arlas"] if not Configuration.settings.arlas.get(config).allow_delete: - print("Error: delete on \"{}\" is not allowed. To allow delete, change your configuration file ({}).".format(config, configuration_file), file=sys.stderr) + print("Error: delete on \"{}\" is not allowed. To allow delete, change your configuration file ({}).".format(config, variables["configuration_file"]), file=sys.stderr) exit(1) - if typer.confirm("You are about to delete the index '{}' on the '{}' configuration.\n".format(index, config), + if typer.confirm("You are about to delete the index '{}' on '{}' configuration.\n".format(index, config), prompt_suffix="Do you want to continue (del {} on {})?".format(index, config), default=False, ): if config != "local" and config.find("test") < 0: diff --git a/arlas/cli/persist.py b/arlas/cli/persist.py index 04d5877..6b24d68 100644 --- a/arlas/cli/persist.py +++ b/arlas/cli/persist.py @@ -4,7 +4,7 @@ import sys from prettytable import PrettyTable -from arlas.cli.settings import Resource +from arlas.cli.settings import Configuration, Resource from arlas.cli.service import Service from arlas.cli.variables import variables @@ -35,6 +35,18 @@ def delete( id: str = typer.Argument(help="entry identifier") ): config = variables["arlas"] + if not Configuration.settings.arlas.get(config).allow_delete: + print("Error: delete on \"{}\" is not allowed. To allow delete, change your configuration file ({}).".format(config, variables["configuration_file"]), file=sys.stderr) + exit(1) + + if typer.confirm("You are about to delete the entry '{}' on '{}' configuration.\n".format(id, config), + prompt_suffix="Do you want to continue (del {} on {})?".format(id, config), + default=False, ): + if config != "local" and config.find("test") < 0: + if typer.prompt("WARNING: You are not on a test environment. To delete {} on {}, type the name of the configuration ({})".format(id, config, config)) != config: + print("Error: delete on \"{}\" cancelled.".format(config), file=sys.stderr) + exit(1) + Service.persistence_delete(config, id=id) print("Resource {} deleted.".format(id)) diff --git a/docker/dc-test.yaml b/docker/dc-test.yaml index ff12f1b..539411c 100644 --- a/docker/dc-test.yaml +++ b/docker/dc-test.yaml @@ -35,8 +35,6 @@ services: - arlas-net logging: driver: ${DOCKER_LOGGING_DRIVER:-json-file} - options: - tag: "urms" healthcheck: test: ["CMD","java","HttpHealthcheck.java","http://localhost:9999/admin/healthcheck"] interval: 5s @@ -51,7 +49,7 @@ services: - ELASTIC_PASSWORD=${ELASTIC_PASSWORD} - discovery.type=single-node - cluster.name=arlas-es-cluster - - node.name=urms-data-node-1 + - node.name=data-node-1 - "ES_JAVA_OPTS=-Xms1g -Xmx1g" - xpack.security.enabled=false - tracing.apm.enabled=false @@ -68,10 +66,29 @@ services: - arlas-net logging: driver: ${DOCKER_LOGGING_DRIVER:-json-file} - options: - tag: "urms" healthcheck: test: "curl -s --user ${ELASTIC_USER}:${ELASTIC_PASSWORD} -X GET http://localhost:9200/_cluster/health?pretty | grep status | grep -q '\\(green\\|yellow\\)'" interval: 10s timeout: 10s retries: 24 + + arlas-persistence: + image: ${ARLAS_PERSISTENCE_SERVER_VERSION} + container_name: arlas-persistence + restart: always + environment: + - ARLAS_PERSISTENCE_HIBERNATE_DRIVER=org.postgresql.Driver + - ARLAS_PERSISTENCE_LOCAL_FOLDER=/tmp/ + ports: + - "9997:9997" + expose: + - "9997" + networks: + - arlas-net + logging: + driver: ${DOCKER_LOGGING_DRIVER:-json-file} + healthcheck: + test: ["CMD","java","HttpHealthcheck.java","http://localhost:9997/arlas_persistence_server/swagger.json"] + interval: 5s + timeout: 10s + retries: 3 diff --git a/scripts/stack.env b/scripts/stack.env index 0fdd2f9..0610cab 100644 --- a/scripts/stack.env +++ b/scripts/stack.env @@ -3,6 +3,7 @@ ################################################ ARLAS_SERVER_VERSION=gisaia/arlas-server:24.1.0 ELASTIC_VERSION=docker.elastic.co/elasticsearch/elasticsearch:8.11.1 +ARLAS_PERSISTENCE_SERVER_VERSION=gisaia/arlas-persistence-server:24.0.5 ################################################ # Credentials diff --git a/scripts/tests.sh b/scripts/tests.sh index 57da40e..6e4a85e 100755 --- a/scripts/tests.sh +++ b/scripts/tests.sh @@ -2,12 +2,27 @@ set -e ./scripts/start_stack.sh +if test -f "/tmp/arlas_cli.yaml"; then + rm /tmp/arlas_cli.yaml +fi + +if test -f "/tmp/arlas_cli_persist"; then + rm -rf /tmp/arlas_cli_persist +fi + +python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml --config-file /tmp/arlas_cli.yaml --version +python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml --config-file /tmp/arlas_cli.yaml confs \ + create tests \ + --server http://localhost:9999/arlas \ + --persistence http://localhost:9997/arlas_persistence_server \ + --headers "Content-Type:application/json" \ + --elastic http://localhost:9200 \ + --elastic-headers "Content-Type:application/json" \ + --allow-delete # ---------------------------------------------------------- -echo "TEST default configuration placed in $HOME/.arlas/cli" -rm -f $HOME/.arlas/cli/configuration.yaml -python3 -m arlas.cli.cli --version -FILE=$HOME/.arlas/cli/configuration.yaml +echo "TEST configuration placed in /tmp/" +FILE=/tmp/arlas_cli.yaml if test -f "$FILE"; then echo "OK: $FILE exists." else @@ -17,7 +32,7 @@ fi # ---------------------------------------------------------- echo "TEST infer mapping and add mapping on ES" -python3 -m arlas.cli.cli indices --config local mapping tests/sample.json --nb-lines 10 --field-mapping track.timestamps.center:date-epoch_second --field-mapping track.timestamps.start:date-epoch_second --field-mapping track.timestamps.end:date-epoch_second --push-on courses +python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml indices --config tests mapping tests/sample.json --nb-lines 10 --field-mapping track.timestamps.center:date-epoch_second --field-mapping track.timestamps.start:date-epoch_second --field-mapping track.timestamps.end:date-epoch_second --push-on courses if [ "$? -eq 0" ] ; then echo "OK: Mapping infered and added" else @@ -27,7 +42,7 @@ fi # ---------------------------------------------------------- echo "TEST retrieve mapping from ES" -if python3 -m arlas.cli.cli indices --config local list | grep courses ; then +if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml indices --config tests list | grep courses ; then echo "OK: mapping found" else echo "ERROR: mapping not found" @@ -36,7 +51,7 @@ fi # ---------------------------------------------------------- echo "TEST describe mapping from ES" -if python3 -m arlas.cli.cli indices --config local describe courses | grep "track.timestamps.center" | grep "date "; then +if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml indices --config tests describe courses | grep "track.timestamps.center" | grep "date "; then echo "OK: describe mapping ok" else echo "ERROR: describe mapping failled" @@ -45,7 +60,7 @@ fi # ---------------------------------------------------------- echo "TEST add data to ES" -python3 -m arlas.cli.cli indices --config local data courses tests/sample.json +python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml indices --config tests data courses tests/sample.json if [ "$? -eq 0" ] ; then echo "OK: data added" else @@ -56,7 +71,7 @@ sleep 2 # ---------------------------------------------------------- echo "TEST retrieve hits from ES" -if python3 -m arlas.cli.cli indices --config local list | grep courses | grep " 100 "; then +if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml indices --config tests list | grep courses | grep " 100 "; then echo "OK: hundred hits found" else echo "ERROR: hits not found" @@ -66,7 +81,7 @@ fi # ---------------------------------------------------------- echo "TEST add collection" -python3 -m arlas.cli.cli collections --config local create courses --index courses --display-name courses --id-path track.id --centroid-path track.location --geometry-path track.trail --date-path track.timestamps.center +python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml collections --config tests create courses --index courses --display-name courses --id-path track.id --centroid-path track.location --geometry-path track.trail --date-path track.timestamps.center if [ "$? -eq 0" ] ; then echo "OK: data added" else @@ -77,7 +92,7 @@ sleep 2 # ---------------------------------------------------------- echo "TEST retrieve collection" -if python3 -m arlas.cli.cli collections --config local list | grep courses ; then +if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml collections --config tests list | grep courses ; then echo "OK: collection found" else echo "ERROR: collection not found" @@ -86,7 +101,7 @@ fi # ---------------------------------------------------------- echo "TEST describe collection" -python3 -m arlas.cli.cli collections --config local describe courses +python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml collections --config tests describe courses if [ "$? -eq 0" ] ; then echo "OK: Describe collection ok" else @@ -96,7 +111,7 @@ fi # ---------------------------------------------------------- echo "TEST count collection" -python3 -m arlas.cli.cli collections --config local count courses +python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml collections --config tests count courses if [ "$? -eq 0" ] ; then echo "OK: Count collection ok" else @@ -107,7 +122,7 @@ fi # ---------------------------------------------------------- echo "TEST delete collection" -yes | python3 -m arlas.cli.cli collections --config local delete courses +yes | python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml collections --config tests delete courses if [ "$? -eq 0" ] ; then echo "OK: delete collection ok" else @@ -118,7 +133,7 @@ fi sleep 2 # ---------------------------------------------------------- echo "TEST collection deleted" -if python3 -m arlas.cli.cli collections --config local list| grep courses ; then +if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml collections --config tests list| grep courses ; then echo "ERROR: collection found, not deleted" exit 1 else @@ -127,7 +142,7 @@ fi # ---------------------------------------------------------- echo "TEST delete index" -yes | python3 -m arlas.cli.cli indices --config local delete courses +yes | python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml indices --config tests delete courses if [ "$? -eq 0" ] ; then echo "OK: delete index ok" else @@ -140,7 +155,7 @@ sleep 2 # ---------------------------------------------------------- echo "TEST index deleted" -if python3 -m arlas.cli.cli indices --config local list| grep courses ; then +if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml indices --config tests list| grep courses ; then echo "ERROR: index found, not deleted" exit 1 else @@ -149,7 +164,7 @@ fi # ---------------------------------------------------------- echo "TEST list configurations" -if python3 -m arlas.cli.cli confs list | grep local ; then +if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml confs list | grep local ; then echo "OK: configuration found" else echo "ERROR: configuration not found" @@ -158,7 +173,7 @@ fi # ---------------------------------------------------------- echo "TEST create configuration" -python3 -m arlas.cli.cli confs create toto --server http://localhost:9999 +python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml confs create toto --server http://localhost:9999 if [ "$? -eq 0" ] ; then echo "OK: configuration found" else @@ -168,7 +183,7 @@ fi # ---------------------------------------------------------- echo "TEST configuration added" -if python3 -m arlas.cli.cli confs list | grep toto ; then +if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml confs list | grep toto ; then echo "OK: configuration found" else echo "ERROR: configuration not found" @@ -177,7 +192,7 @@ fi # ---------------------------------------------------------- echo "TEST delete configuration" -python3 -m arlas.cli.cli confs delete toto +python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml confs delete toto if [ "$? -eq 0" ] ; then echo "OK: configuration deleted" else @@ -185,5 +200,35 @@ else exit 1 fi +# ---------------------------------------------------------- +echo "TEST add entry" +id=`python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml persist --config tests add README.md my_zone --name toto` + +# ---------------------------------------------------------- +echo "TEST entry found" +if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml persist --config tests zone my_zone | grep toto ; then + echo "OK: entry found" +else + echo "ERROR: entry not found" + exit 1 +fi + +# ---------------------------------------------------------- +echo "TEST entry describe" +if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml persist --config tests describe $id | grep toto ; then + echo "OK: entry described" +else + echo "ERROR: describe not found" + exit 1 +fi + +# ---------------------------------------------------------- +echo "TEST entry describe" +if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml persist --config tests groups my_zone | grep "group/public" ; then + echo "OK: groups found " +else + echo "ERROR: groups not found" + exit 1 +fi ./scripts/stop_stack.sh \ No newline at end of file From ead7c0fbf6260f58c63405e3d1aa58649a72c65f Mon Sep 17 00:00:00 2001 From: Sylvain Gaudan Date: Fri, 8 Mar 2024 16:11:01 +0100 Subject: [PATCH 3/3] fix persist --- arlas/cli/cli.py | 2 +- arlas/cli/collections.py | 2 +- arlas/cli/index.py | 6 ++++-- arlas/cli/persist.py | 4 ++-- arlas/cli/service.py | 16 ++++++++++------ scripts/tests.sh | 13 ++++++++++++- 6 files changed, 30 insertions(+), 13 deletions(-) diff --git a/arlas/cli/cli.py b/arlas/cli/cli.py index c250c17..c04b317 100644 --- a/arlas/cli/cli.py +++ b/arlas/cli/cli.py @@ -37,7 +37,7 @@ def init( arlas={ "demo": ARLAS(server=Resource(location="https://demo.cloud.arlas.io/arlas/server", headers={"Content-Type": "application/json"})), "local": ARLAS( - server=Resource(location="http://localhost/arlas", headers={"Content-Type": "application/json"}), + server=Resource(location="http://localhost/server", headers={"Content-Type": "application/json"}), persistence=Resource(location="http://localhost/persist", headers={"Content-Type": "application/json"}), elastic=Resource(location="http://localhost:9200", headers={"Content-Type": "application/json"}), allow_delete=True diff --git a/arlas/cli/collections.py b/arlas/cli/collections.py index 024daa5..2eeac96 100644 --- a/arlas/cli/collections.py +++ b/arlas/cli/collections.py @@ -13,7 +13,7 @@ @collections.callback() def configuration(config: str = typer.Option(help="Name of the ARLAS configuration to use from your configuration file ({}).".format(variables["configuration_file"]))): - variables["arlas"] = config + variables["arlas"] = config @collections.command(help="List collections", name="list") diff --git a/arlas/cli/index.py b/arlas/cli/index.py index 4acea86..1ba3913 100644 --- a/arlas/cli/index.py +++ b/arlas/cli/index.py @@ -52,7 +52,8 @@ def sample( def create( index: str = typer.Argument(help="index's name"), mapping: str = typer.Option(help="Name of the mapping within your configuration, or URL or file path"), - shards: int = typer.Option(default=1, help="Number of shards for the index") + shards: int = typer.Option(default=1, help="Number of shards for the index"), + add_uuid: str = typer.Argument(default=None, help="Set a UUID for the provided json path field") ): config = variables["arlas"] mapping_resource = Configuration.settings.mappings.get(mapping, None) @@ -66,7 +67,8 @@ def create( config, index=index, mapping_resource=mapping_resource, - number_of_shards=shards) + number_of_shards=shards, + add_uuid=add_uuid) print("Index {} created on {}".format(index, config)) diff --git a/arlas/cli/persist.py b/arlas/cli/persist.py index 6b24d68..5cf0ebf 100644 --- a/arlas/cli/persist.py +++ b/arlas/cli/persist.py @@ -26,7 +26,7 @@ def add( encode: bool = typer.Option(help="Encode in BASE64", default=False) ): config = variables["arlas"] - id = Service.persistence_add_file(config, Resource(location=file), zone=zone, name=name, readers=reader, encode=encode) + id = Service.persistence_add_file(config, Resource(location=file), zone=zone, name=name, readers=reader, writers=writer, encode=encode) print(id) @@ -56,7 +56,7 @@ def get( id: str = typer.Argument(help="entry identifier") ): config = variables["arlas"] - print(Service.persistence_get(config, id=id).get("doc_value")) + print(Service.persistence_get(config, id=id).get("doc_value"), end="") @persist.command(help="List entries within a zone", name="zone") diff --git a/arlas/cli/service.py b/arlas/cli/service.py index 62ffb3f..965d4ed 100644 --- a/arlas/cli/service.py +++ b/arlas/cli/service.py @@ -105,12 +105,12 @@ def create_collection(arlas: str, collection: str, model_resource: str, index: s print(json.dumps(model)) Service.__arlas__(arlas, "/".join(["collections", collection]), put=json.dumps(model)) - def create_index_from_resource(arlas: str, index: str, mapping_resource: str, number_of_shards: int): + def create_index_from_resource(arlas: str, index: str, mapping_resource: str, number_of_shards: int, add_uuid: str = None): mapping = json.loads(Service.__fetch__(mapping_resource)) if not mapping.get("mappings"): print("Error: mapping {} does not contain \"mappings\" at its root.".format(mapping_resource), file=sys.stderr) exit(1) - Service.create_index(arlas, index, mapping, number_of_shards) + Service.create_index(arlas, index, mapping, number_of_shards, add_uuid) def create_index(arlas: str, index: str, mapping: str, number_of_shards: int = 1): index_doc = {"mappings": mapping.get("mappings"), "settings": {"number_of_shards": number_of_shards}} @@ -143,7 +143,7 @@ def count_hits(file_path: str) -> int: return line_number def persistence_add_file(arlas: str, file: Resource, zone: str, name: str, encode: bool = False, readers: list[str] = [], writers: list[str] = []): - content = Service.__fetch__(file) + content = Service.__fetch__(file, bytes=True) url = "/".join(["persist", "resource", zone, name]) + "?" + "&readers=".join(readers) + "&writers=".join(writers) return Service.__arlas__(arlas, url, post=content, service=Services.persistence_server).get("id") @@ -240,10 +240,11 @@ def __arlas__(arlas: str, suffix, post=None, put=None, delete=None, service=Serv print("Error: arlas configuration ({}) not found among [{}] for {}.".format(arlas, ", ".join(Configuration.settings.arlas.keys()), service.name), file=sys.stderr) exit(1) if service == Services.arlas_server: + __headers__ = configuration.server.headers.copy() endpoint: Resource = configuration.server else: + __headers__ = configuration.persistence.headers.copy() endpoint: Resource = configuration.persistence - __headers__ = Configuration.settings.arlas.get(arlas).server.headers.copy() if Configuration.settings.arlas.get(arlas).authorization is not None: __headers__["Authorization"] = "Bearer " + Service.__get_token__(arlas) url = "/".join([endpoint.location, suffix]) @@ -300,10 +301,13 @@ def __es__(arlas: str, suffix, post=None, put=None, delete=None, exit_on_failure else: raise RequestException(r.status_code, r.content) - def __fetch__(resource: Resource): + def __fetch__(resource: Resource, bytes: bool = False): if os.path.exists(resource.location): content = None - with open(resource.location) as f: + mode = "r" + if bytes: + mode = "rb" + with open(resource.location, mode) as f: content = f.read() return content r = requests.get(resource.location, headers=resource.headers) diff --git a/scripts/tests.sh b/scripts/tests.sh index 6e4a85e..baf3ea8 100755 --- a/scripts/tests.sh +++ b/scripts/tests.sh @@ -213,6 +213,17 @@ else exit 1 fi +# ---------------------------------------------------------- +echo "TEST entry content is same as sent" +python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml persist --config tests get $id > /tmp/result + +if cmp --silent -- /tmp/result README.md; then + echo "OK: content is the same" +else + echo "ERROR: content differs" + exit 1 +fi + # ---------------------------------------------------------- echo "TEST entry describe" if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml persist --config tests describe $id | grep toto ; then @@ -223,7 +234,7 @@ else fi # ---------------------------------------------------------- -echo "TEST entry describe" +echo "TEST list groups" if python3 -m arlas.cli.cli --config-file /tmp/arlas_cli.yaml persist --config tests groups my_zone | grep "group/public" ; then echo "OK: groups found " else