agilicus 1.240.1__py3-none-any.whl → 1.240.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- agilicus/agilicus_api/api_client.py +1 -1
- agilicus/agilicus_api/configuration.py +1 -1
- agilicus/agilicus_api_README.md +1 -1
- agilicus/connectors.py +21 -3
- agilicus/main.py +10 -1
- agilicus/metrics.py +28 -0
- {agilicus-1.240.1.dist-info → agilicus-1.240.2.dist-info}/METADATA +1 -1
- {agilicus-1.240.1.dist-info → agilicus-1.240.2.dist-info}/RECORD +11 -11
- {agilicus-1.240.1.dist-info → agilicus-1.240.2.dist-info}/LICENSE.txt +0 -0
- {agilicus-1.240.1.dist-info → agilicus-1.240.2.dist-info}/WHEEL +0 -0
- {agilicus-1.240.1.dist-info → agilicus-1.240.2.dist-info}/entry_points.txt +0 -0
@@ -77,7 +77,7 @@ class ApiClient(object):
|
|
77
77
|
self.default_headers[header_name] = header_value
|
78
78
|
self.cookie = cookie
|
79
79
|
# Set default User-Agent.
|
80
|
-
self.user_agent = 'OpenAPI-Generator/1.240.
|
80
|
+
self.user_agent = 'OpenAPI-Generator/1.240.2/python'
|
81
81
|
|
82
82
|
def __enter__(self):
|
83
83
|
return self
|
@@ -387,7 +387,7 @@ class Configuration(object):
|
|
387
387
|
"OS: {env}\n"\
|
388
388
|
"Python Version: {pyversion}\n"\
|
389
389
|
"Version of the API: 2024.02.06\n"\
|
390
|
-
"SDK Package Version: 1.240.
|
390
|
+
"SDK Package Version: 1.240.2".\
|
391
391
|
format(env=sys.platform, pyversion=sys.version)
|
392
392
|
|
393
393
|
def get_host_settings(self):
|
agilicus/agilicus_api_README.md
CHANGED
@@ -4,7 +4,7 @@ Agilicus is API-first. Modern software is controlled by other software, is open,
|
|
4
4
|
The `agilicus_api` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
5
5
|
|
6
6
|
- API version: 2024.02.06
|
7
|
-
- Package version: 1.240.
|
7
|
+
- Package version: 1.240.2
|
8
8
|
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
9
9
|
For more information, please visit [https://www.agilicus.com/api](https://www.agilicus.com/api)
|
10
10
|
|
agilicus/connectors.py
CHANGED
@@ -3,6 +3,7 @@ from datetime import timedelta
|
|
3
3
|
import agilicus
|
4
4
|
from prettytable import PrettyTable
|
5
5
|
from operator import attrgetter
|
6
|
+
from . import get_many_entries
|
6
7
|
|
7
8
|
import agilicus_api.exceptions
|
8
9
|
import dateutil.tz
|
@@ -63,19 +64,36 @@ def do_filter(ctx, no_down, connectors, not_version=None, sort_by=None, **kwargs
|
|
63
64
|
return filtered_connectors
|
64
65
|
|
65
66
|
|
66
|
-
def query(
|
67
|
+
def query(
|
68
|
+
ctx,
|
69
|
+
no_down=False,
|
70
|
+
not_version=None,
|
71
|
+
sort_by=None,
|
72
|
+
page_at_id=None,
|
73
|
+
page_size=500,
|
74
|
+
**kwargs,
|
75
|
+
):
|
67
76
|
token = context.get_token(ctx)
|
68
77
|
apiclient = context.get_apiclient(ctx, token)
|
69
78
|
org_id = get_org_from_input_or_ctx(ctx, **kwargs)
|
70
79
|
|
71
80
|
params = {}
|
72
81
|
params["org_id"] = org_id
|
82
|
+
if page_at_id is None:
|
83
|
+
page_at_id = ""
|
73
84
|
input_helpers.update_if_not_none(params, kwargs)
|
74
|
-
query_results =
|
85
|
+
query_results = get_many_entries(
|
86
|
+
apiclient.connectors_api.list_connector,
|
87
|
+
"connectors",
|
88
|
+
maximum=kwargs.get("limit", None),
|
89
|
+
page_size=page_size,
|
90
|
+
page_at_id=page_at_id,
|
91
|
+
**params,
|
92
|
+
)
|
75
93
|
return do_filter(
|
76
94
|
ctx,
|
77
95
|
no_down,
|
78
|
-
query_results
|
96
|
+
query_results,
|
79
97
|
not_version=not_version,
|
80
98
|
sort_by=sort_by,
|
81
99
|
**kwargs,
|
agilicus/main.py
CHANGED
@@ -5007,10 +5007,11 @@ def show_api_key_introspection(ctx, email, api_key, include_suborgs=False, **kwa
|
|
5007
5007
|
@cli.command(help="list all connectors")
|
5008
5008
|
@click.option("--org-id", default=None)
|
5009
5009
|
@click.option("--name", default=None)
|
5010
|
-
@click.option("--limit", default=
|
5010
|
+
@click.option("--limit", default=None)
|
5011
5011
|
@click.option("--show-stats", type=bool, default=True)
|
5012
5012
|
@click.option("--no-down", is_flag=True, type=bool, default=False)
|
5013
5013
|
@click.option("--page-at-id", default=None)
|
5014
|
+
@click.option("--page-size", default=500, type=int)
|
5014
5015
|
@click.option(
|
5015
5016
|
"--sort-by",
|
5016
5017
|
type=click.Choice(["metadata.created", "status.operational_status.status"]),
|
@@ -7762,6 +7763,14 @@ def list_user_guids(ctx, type, **kwargs):
|
|
7762
7763
|
print(format_table(ctx, results, columns))
|
7763
7764
|
|
7764
7765
|
|
7766
|
+
@cli.command()
|
7767
|
+
@click.pass_context
|
7768
|
+
@click.option("--org-id", default=None)
|
7769
|
+
@click.option("--n", default=10, type=int)
|
7770
|
+
def show_top_connectors(ctx, **kwargs):
|
7771
|
+
metrics.show_top_connectors(ctx, **kwargs)
|
7772
|
+
|
7773
|
+
|
7765
7774
|
def main():
|
7766
7775
|
trusted_certs_main.add_commands(cli)
|
7767
7776
|
hosts_main.add_commands(cli)
|
agilicus/metrics.py
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
from agilicus.input_helpers import pop_item_if_none, strip_none
|
2
2
|
from . import context
|
3
|
+
from . import connectors
|
4
|
+
from . import orgs
|
5
|
+
from .output.table import (
|
6
|
+
column,
|
7
|
+
format_table,
|
8
|
+
)
|
9
|
+
import operator
|
3
10
|
|
4
11
|
|
5
12
|
def query_top(
|
@@ -67,3 +74,24 @@ def query_active(
|
|
67
74
|
resp = apiclient.metrics_api.list_active_users(org_id, **params)
|
68
75
|
|
69
76
|
return resp.active_users
|
77
|
+
|
78
|
+
|
79
|
+
def show_top_connectors(ctx, n=10, org_id=None):
|
80
|
+
by_org = {}
|
81
|
+
for connector in connectors.query(ctx, org_id=org_id):
|
82
|
+
conns = by_org.setdefault(connector.spec.org_id, [])
|
83
|
+
conns.append(connector)
|
84
|
+
|
85
|
+
org_by_id, _ = orgs.get_org_by_dictionary(ctx, org_id)
|
86
|
+
rows = []
|
87
|
+
for k, v in sorted(by_org.items(), key=lambda item: len(item[1]), reverse=True):
|
88
|
+
if len(rows) >= n:
|
89
|
+
break
|
90
|
+
org_name = org_by_id.get(k, {}).get("organisation", "unknown org")
|
91
|
+
rows.append({"org_id": k, "Organisation": org_name, "num_connectors": len(v)})
|
92
|
+
columns = [
|
93
|
+
column("org_id"),
|
94
|
+
column("Organisation"),
|
95
|
+
column("num_connectors"),
|
96
|
+
]
|
97
|
+
print(format_table(ctx, rows, columns, getter=operator.itemgetter))
|
@@ -67,9 +67,9 @@ agilicus/agilicus_api/api/users_api.py,sha256=89UhVL1__kwMA6_e0g0Ugmse_kzKJ90M9z
|
|
67
67
|
agilicus/agilicus_api/api/users_api_mock.py,sha256=wA_xiqL3Pz3KjljKlsmf5NveLZS1FpbaKJHBp7QvarY,15411
|
68
68
|
agilicus/agilicus_api/api/whoami_api.py,sha256=_yxz_daDWiKYgIXqbVTEJmvOmrQXTgzRrXX04NmU3D8,7941
|
69
69
|
agilicus/agilicus_api/api/whoami_api_mock.py,sha256=rlvZoWnMCqORMZBg7SOv6d3xp52kELdh6wXcCaIZ93w,346
|
70
|
-
agilicus/agilicus_api/api_client.py,sha256=
|
70
|
+
agilicus/agilicus_api/api_client.py,sha256=LYp_mR3b2Y3ZkjIXdinRQQxWMoS-ZlXP1nsFsnUoM6U,38845
|
71
71
|
agilicus/agilicus_api/apis/__init__.py,sha256=m_hg6OJsEsMp6mZ1mn9OlaTflLjrU3Jc-jvYD9gi_PA,2092
|
72
|
-
agilicus/agilicus_api/configuration.py,sha256=
|
72
|
+
agilicus/agilicus_api/configuration.py,sha256=xEH3dRTvYsK580z2LlzATLioN0BfboYN6iZzQIYYhos,18447
|
73
73
|
agilicus/agilicus_api/docs/APIKey.md,sha256=4cKuz4_l9HcEDnUrLwYbEnn9C2WoDayrjfrY1Ixgaf4,1747
|
74
74
|
agilicus/agilicus_api/docs/APIKeyIntrospect.md,sha256=nJ-zkuFm3JMbWFDYYN_vYyQk1snGBtBvIxtCQxamhAU,1019
|
75
75
|
agilicus/agilicus_api/docs/APIKeyIntrospectAuthorizationInfo.md,sha256=7RApOOLjvWQs5sw2jb25g7i3Kta1BiEY-s8VRXfppH8,725
|
@@ -2365,7 +2365,7 @@ agilicus/agilicus_api/test/test_x509_root_certificate.py,sha256=Xb3ORbJEsORPpY70
|
|
2365
2365
|
agilicus/agilicus_api/test/test_x509_root_certificate_spec.py,sha256=rnKpCqk4bLzbxBNuwrjybXv5us6p1C716aAVmOJb5CQ,2832
|
2366
2366
|
agilicus/agilicus_api/test/test_x509_root_certificate_status.py,sha256=Fk1TUIqHuoV7rpCEjr6lXVm8QvVpTxQhYN-xbxaIYgg,2846
|
2367
2367
|
agilicus/agilicus_api/test/test_xss_settings.py,sha256=d9HA_meX95wfylALAximKaTNiWIGTGqwUK9UF6NQsK4,2746
|
2368
|
-
agilicus/agilicus_api_README.md,sha256=
|
2368
|
+
agilicus/agilicus_api_README.md,sha256=z7geOkXWrms0lUekkn_-hm3No_E9jv_xdIhg7PyAhZs,152562
|
2369
2369
|
agilicus/aliases.ini,sha256=MxqiVo2f2xdUDVF1YDkNW36AIqN8hrYjlTVfraEUZXY,455
|
2370
2370
|
agilicus/amq.py,sha256=yxi-YTbJPVl10s78Hlr1dmrQR63iaSIoROGVILzFPmE,1775
|
2371
2371
|
agilicus/apps.py,sha256=P8Ak1c9Zlr_RFLR1s3WevxoyIPY8fd9BNmV-M-LoRRk,49060
|
@@ -2377,7 +2377,7 @@ agilicus/certificate.py,sha256=iXC4iT3EGISyEezrvMgfic_lSCx2_JMSWevTLyGekR8,2739
|
|
2377
2377
|
agilicus/challenges.py,sha256=HRSogUKlATul58pK-yWfsQa75K4-Nu-xIi5Vm24RsDM,6870
|
2378
2378
|
agilicus/click_extension.py,sha256=uE57TjMqJxO9VFPBJO5-bTo9UrQiHPjIdI_iwKSaw6Q,224
|
2379
2379
|
agilicus/client_secrets.json,sha256=eyPFVzziH48RuwWl66cfi0JE4jpmoec0Vo_F2TzYOeI,414
|
2380
|
-
agilicus/connectors.py,sha256=
|
2380
|
+
agilicus/connectors.py,sha256=6Eop2T0QKAEfK25gaUSNIcFUdbq4Es5cs1_2Nld0o70,39667
|
2381
2381
|
agilicus/context.py,sha256=ieod0sDR1kVMIWI9oaLT9ii2XirRyiZh8ea-pjxQmjo,7707
|
2382
2382
|
agilicus/credentials.py,sha256=F3yPAwoMcziP1OLmzeJ8jIz1W-91-HXu4zcymyMp1E4,4730
|
2383
2383
|
agilicus/credentials_commands/credentials.py,sha256=YduI2SJR8nJgFuAloNowy16_s-rdVLZLDkuQvk_YmAg,3574
|
@@ -2414,9 +2414,9 @@ agilicus/labels/labels_main.py,sha256=aXRNRT1CPiUc0x1Gh_VoCmzrbROzsC5e9ycrwPNT0q
|
|
2414
2414
|
agilicus/launchers.py,sha256=Yy59dzHMCz9ZSs_mMjVGaTw3vdNX58WsmIfX56by69U,11077
|
2415
2415
|
agilicus/logs.py,sha256=tS8c_sdre1Dncrl59GVGQ0L3d2jtwlVjvIMl3SHJraY,766
|
2416
2416
|
agilicus/lookups.py,sha256=MNmNsKpP7Fq_poLAnL9xo_iptFilKM9ziGLyIe8VKaw,669
|
2417
|
-
agilicus/main.py,sha256
|
2417
|
+
agilicus/main.py,sha256=DvjxE5sgElNep9nenzyVNJjLLthqB50OzlDkVMHeDHg,258922
|
2418
2418
|
agilicus/messages.py,sha256=Ydm-VhAsK23UnYdstv_HsOybBODfui5ubKc7F8R_dsw,5187
|
2419
|
-
agilicus/metrics.py,sha256=
|
2419
|
+
agilicus/metrics.py,sha256=v4rwpvqDzeNG5GKNoZ7t34X5qUgly5IW2s-kXlS2vQM,2315
|
2420
2420
|
agilicus/orgs.py,sha256=hrKmF8RI4H1htQNWPiwFOzy2EPBLdgNpV4c9CMxYSiM,12701
|
2421
2421
|
agilicus/output/__init__.py,sha256=UKZbHS4t15vazJuN46FN-3HHqkxMXU0p3df2VcsSLcY,110
|
2422
2422
|
agilicus/output/column_builder.py,sha256=TWo4t8ygaTUv7qjD_moDroD1bKzzyTIao0FmLy5gs4o,4284
|
@@ -2451,8 +2451,8 @@ agilicus/trusted_certs/trusted_certs_main.py,sha256=6dHHWXvNIcUa_nA9ptigL4Vibe4n
|
|
2451
2451
|
agilicus/users.py,sha256=9qTbS2yzV1D7DuTh1FopKT_K4Z1i0d-ZgpQtEEsnOyE,38377
|
2452
2452
|
agilicus/version.py,sha256=G9OFdL1v_4dLDfk6I6taDNypM5bbO-JHAwilsu9LYgg,23
|
2453
2453
|
agilicus/whoami.py,sha256=kqghtWMgZOd2rhKmfguDwCTm6A3gNS8Kj-S2IBxBtl0,206
|
2454
|
-
agilicus-1.240.
|
2455
|
-
agilicus-1.240.
|
2456
|
-
agilicus-1.240.
|
2457
|
-
agilicus-1.240.
|
2458
|
-
agilicus-1.240.
|
2454
|
+
agilicus-1.240.2.dist-info/LICENSE.txt,sha256=Zq4tqiCroC2CVrBB_PWjapRdvpae23nljdiaSkOzUho,1061
|
2455
|
+
agilicus-1.240.2.dist-info/METADATA,sha256=PagmVkfKrgMGB9Ft2oassyCiML-VLeYDE8BcMf3EAQY,3742
|
2456
|
+
agilicus-1.240.2.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
2457
|
+
agilicus-1.240.2.dist-info/entry_points.txt,sha256=a66hGozzLkHu0IewFzIMbSAhMTNTddUaA2T3_16Gb_s,51
|
2458
|
+
agilicus-1.240.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|