agilicus 1.235.5__py3-none-any.whl → 1.235.7__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- agilicus/agilicus_api/api_client.py +1 -1
- agilicus/agilicus_api/configuration.py +1 -1
- agilicus/agilicus_api_README.md +1 -1
- agilicus/features/features.py +3 -0
- agilicus/features/features_main.py +27 -9
- agilicus/main.py +36 -12
- agilicus/output/column_builder.py +134 -0
- agilicus/output/table.py +3 -89
- agilicus/output/tests/__init__.py +0 -0
- agilicus/output/tests/column_builder_test.py +73 -0
- agilicus/users.py +0 -24
- {agilicus-1.235.5.dist-info → agilicus-1.235.7.dist-info}/METADATA +1 -1
- {agilicus-1.235.5.dist-info → agilicus-1.235.7.dist-info}/RECORD +16 -13
- {agilicus-1.235.5.dist-info → agilicus-1.235.7.dist-info}/LICENSE.txt +0 -0
- {agilicus-1.235.5.dist-info → agilicus-1.235.7.dist-info}/WHEEL +0 -0
- {agilicus-1.235.5.dist-info → agilicus-1.235.7.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.235.
|
80
|
+
self.user_agent = 'OpenAPI-Generator/1.235.7/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: 2023.12.15\n"\
|
390
|
-
"SDK Package Version: 1.235.
|
390
|
+
"SDK Package Version: 1.235.7".\
|
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: 2023.12.15
|
7
|
-
- Package version: 1.235.
|
7
|
+
- Package version: 1.235.7
|
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/features/features.py
CHANGED
@@ -47,6 +47,7 @@ def add_feature(
|
|
47
47
|
min=None,
|
48
48
|
max=None,
|
49
49
|
enabled=None,
|
50
|
+
priority=None,
|
50
51
|
**kwargs,
|
51
52
|
):
|
52
53
|
api = get_api(ctx)
|
@@ -63,6 +64,8 @@ def add_feature(
|
|
63
64
|
if enabled is not None:
|
64
65
|
val.enabled = enabled
|
65
66
|
|
67
|
+
if priority is not None:
|
68
|
+
spec.priority = priority
|
66
69
|
return api.create_feature(agilicus.Feature(spec))
|
67
70
|
|
68
71
|
|
@@ -10,9 +10,27 @@ from agilicus.output.table import format_table
|
|
10
10
|
|
11
11
|
@click.command(name="list-features")
|
12
12
|
@click.pass_context
|
13
|
-
|
13
|
+
@click.option("--show-columns", type=str, default=None)
|
14
|
+
@click.option("--reset-columns", is_flag=True, default=False)
|
15
|
+
def cli_command_list_features(ctx, show_columns, reset_columns, **kwargs):
|
14
16
|
results = features.list_features(ctx, **kwargs)
|
15
|
-
|
17
|
+
spec = """
|
18
|
+
- metadata.id(newname=id)
|
19
|
+
- spec.name(newname=name)
|
20
|
+
- spec.priority(newname=priority)
|
21
|
+
- spec.key(newname=key)
|
22
|
+
- spec.value(newname=value)
|
23
|
+
- status.products(out_name=products):
|
24
|
+
- spec.label(newname=label)
|
25
|
+
"""
|
26
|
+
columns = make_columns(
|
27
|
+
ctx,
|
28
|
+
results,
|
29
|
+
spec,
|
30
|
+
show=show_columns,
|
31
|
+
clear=reset_columns,
|
32
|
+
)
|
33
|
+
print(format_table(ctx, results, columns))
|
16
34
|
|
17
35
|
|
18
36
|
@click.command(name="add-feature")
|
@@ -78,13 +96,13 @@ def cli_command_list_org_features(ctx, show_columns, reset_columns, **kwargs):
|
|
78
96
|
columns = make_columns(
|
79
97
|
ctx,
|
80
98
|
results,
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
99
|
+
"""
|
100
|
+
- metadata.id(newname=id)
|
101
|
+
- spec.name(newname=name)
|
102
|
+
- spec.priority(newname=priority)
|
103
|
+
- spec.key(newname=key)
|
104
|
+
- spec.value(newname=value)
|
105
|
+
""",
|
88
106
|
show=show_columns,
|
89
107
|
clear=reset_columns,
|
90
108
|
)
|
agilicus/main.py
CHANGED
@@ -680,16 +680,16 @@ def list_users(ctx, organisation, org_id, show_columns, reset_columns, **kwargs)
|
|
680
680
|
columns = make_columns(
|
681
681
|
ctx,
|
682
682
|
results,
|
683
|
-
|
684
|
-
|
685
|
-
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
683
|
+
"""
|
684
|
+
- id
|
685
|
+
- first_name
|
686
|
+
- last_name
|
687
|
+
- email
|
688
|
+
- org_id
|
689
|
+
- status
|
690
|
+
- created
|
691
|
+
- updated
|
692
|
+
""",
|
693
693
|
show=show_columns,
|
694
694
|
clear=reset_columns,
|
695
695
|
)
|
@@ -6787,8 +6787,17 @@ def override_replace(
|
|
6787
6787
|
@click.option("--usage-group-by-org", default=None, multiple=True)
|
6788
6788
|
@click.option("--subscription-id", default=None)
|
6789
6789
|
@click.option("--billing-account-id", default=None)
|
6790
|
+
@click.option("--feature-id", default=None, multiple=True)
|
6791
|
+
@click.option("--remove-feature-id", default=None, multiple=True)
|
6790
6792
|
@click.pass_context
|
6791
|
-
def update_subscription(
|
6793
|
+
def update_subscription(
|
6794
|
+
ctx,
|
6795
|
+
subscription_id,
|
6796
|
+
billing_account_id=None,
|
6797
|
+
feature_id=None,
|
6798
|
+
remove_feature_id=None,
|
6799
|
+
**kwargs,
|
6800
|
+
):
|
6792
6801
|
"""Update the min/max overrides in a customer subscription."""
|
6793
6802
|
bsub = billing.get_billing_subscription(ctx, kwargs["billing_subscription_id"])
|
6794
6803
|
usage_override = bsub.spec.usage_override
|
@@ -6822,8 +6831,23 @@ def update_subscription(ctx, subscription_id, billing_account_id=None, **kwargs)
|
|
6822
6831
|
if billing_account_id:
|
6823
6832
|
bsub.spec.billing_account_id = billing_account_id
|
6824
6833
|
|
6834
|
+
if feature_id is not None:
|
6835
|
+
for feature_id in feature_id:
|
6836
|
+
bsub.spec.feature_overrides.append(feature_id)
|
6837
|
+
|
6838
|
+
if remove_feature_id is not None:
|
6839
|
+
old_features = bsub.spec.feature_overrides
|
6840
|
+
bsub.spec.feature_overrides = []
|
6841
|
+
for feature_id in old_features:
|
6842
|
+
if feature_id in remove_feature_id:
|
6843
|
+
# needs to be removed.
|
6844
|
+
continue
|
6845
|
+
bsub.spec.feature_overrides.append(feature_id)
|
6846
|
+
|
6825
6847
|
sub = billing.update_subscription(
|
6826
|
-
ctx,
|
6848
|
+
ctx,
|
6849
|
+
billing_subscription_id=kwargs["billing_subscription_id"],
|
6850
|
+
subscription=bsub,
|
6827
6851
|
)
|
6828
6852
|
output_entry(ctx, sub.to_dict())
|
6829
6853
|
|
@@ -0,0 +1,134 @@
|
|
1
|
+
import yaml
|
2
|
+
import re
|
3
|
+
from collections import OrderedDict
|
4
|
+
from . import table
|
5
|
+
|
6
|
+
|
7
|
+
class ColumnBuilder:
|
8
|
+
def __init__(self, ctx, result_list):
|
9
|
+
self.ctx = ctx
|
10
|
+
self.result_list = result_list
|
11
|
+
|
12
|
+
def _get_column_names(self, subtable_column_name):
|
13
|
+
results = set()
|
14
|
+
if not self.result_list:
|
15
|
+
return results
|
16
|
+
obj = self.result_list[0]
|
17
|
+
if subtable_column_name:
|
18
|
+
obj = getattr(obj, subtable_column_name)
|
19
|
+
if not obj:
|
20
|
+
# nothing available
|
21
|
+
return results
|
22
|
+
obj = obj[0]
|
23
|
+
return set(obj.to_dict().keys())
|
24
|
+
|
25
|
+
def _make_subtable(self, table_name, format_doc):
|
26
|
+
m = re.search("(.*)\\((.+)\\).*", table_name)
|
27
|
+
all_options = {}
|
28
|
+
if m:
|
29
|
+
found = m.group(2)
|
30
|
+
for option in found.split(","):
|
31
|
+
split_str = option.split("=")
|
32
|
+
all_options[split_str[0]] = split_str[1]
|
33
|
+
table_name = m.group(1)
|
34
|
+
columns = self.build_columns(format_doc, subtable_column_name=table_name)
|
35
|
+
return table.subtable(
|
36
|
+
self.ctx,
|
37
|
+
table_name,
|
38
|
+
columns=columns,
|
39
|
+
optional=True,
|
40
|
+
**all_options,
|
41
|
+
)
|
42
|
+
|
43
|
+
def _get_output_column(self, column_name: str):
|
44
|
+
m = re.search("(.*)\\((.+)\\).*", column_name)
|
45
|
+
if m:
|
46
|
+
found = m.group(2)
|
47
|
+
all_options = {}
|
48
|
+
for option in found.split(","):
|
49
|
+
split_str = option.split("=")
|
50
|
+
all_options[split_str[0]] = split_str[1]
|
51
|
+
return table.column(m.group(1), optional=True, **all_options)
|
52
|
+
return table.column(column_name, optional=True)
|
53
|
+
|
54
|
+
def build_columns(
|
55
|
+
self,
|
56
|
+
format_doc,
|
57
|
+
subtable_column_name=None,
|
58
|
+
**kwargs,
|
59
|
+
):
|
60
|
+
column_names = OrderedDict()
|
61
|
+
for column_name in format_doc:
|
62
|
+
if column_name == "all":
|
63
|
+
for c in self._get_column_names(subtable_column_name):
|
64
|
+
column_names[c] = self._get_output_column(c)
|
65
|
+
elif isinstance(column_name, dict):
|
66
|
+
sub_table_col = list(column_name.keys())[0]
|
67
|
+
sub_table_val = column_name[sub_table_col]
|
68
|
+
column_names[sub_table_col] = self._make_subtable(
|
69
|
+
sub_table_col,
|
70
|
+
sub_table_val,
|
71
|
+
)
|
72
|
+
else:
|
73
|
+
column_names[column_name] = self._get_output_column(column_name)
|
74
|
+
|
75
|
+
return list(column_names.values())
|
76
|
+
|
77
|
+
|
78
|
+
def make_columns(
|
79
|
+
ctx,
|
80
|
+
result_list,
|
81
|
+
base_columns,
|
82
|
+
show=None,
|
83
|
+
clear=False,
|
84
|
+
**kwargs,
|
85
|
+
):
|
86
|
+
"""
|
87
|
+
A generic build for making columns, configurable by user
|
88
|
+
to choose specific columns or subtables.
|
89
|
+
|
90
|
+
Add the following options to your command:
|
91
|
+
@click.option("--show-columns", type=str, default=None)
|
92
|
+
@click.option("--reset-columns", is_flag=True, default=False)
|
93
|
+
|
94
|
+
Then call make_columns (for example)
|
95
|
+
columns = make_columns(ctx, results, ["id", "email"], show=show, clear=clear)
|
96
|
+
|
97
|
+
This make the 'default' show have columns 'id', 'email'.
|
98
|
+
|
99
|
+
You may clear it, and start from scratch:
|
100
|
+
|
101
|
+
show just email:
|
102
|
+
--clear --show email
|
103
|
+
|
104
|
+
show email and the id
|
105
|
+
--clear --show id,email
|
106
|
+
|
107
|
+
show all columns
|
108
|
+
--clear --show all
|
109
|
+
|
110
|
+
show a subtable:
|
111
|
+
--clear --show "[id,email,upstream_user_identities: [all]]"
|
112
|
+
|
113
|
+
show a specific column in the subtable:
|
114
|
+
--clear --show "[id,email,upstream_user_identities: [spec.upstream_idp_id]]"
|
115
|
+
|
116
|
+
rename the output column
|
117
|
+
--clear --show "[id,email,upstream_user_identities: [spec.upstream_idp_id(newname=upstream_idp_id)]]" # noqa
|
118
|
+
|
119
|
+
Note that the show format is a valid yaml doc. Its a list of columns, when
|
120
|
+
a mapping (dictionary) is found that is assumed to be a subtable, where the
|
121
|
+
key name is the subtable name
|
122
|
+
"""
|
123
|
+
format_doc = []
|
124
|
+
if not clear and base_columns:
|
125
|
+
format_doc = yaml.safe_load(base_columns)
|
126
|
+
|
127
|
+
if show:
|
128
|
+
if "[" not in show:
|
129
|
+
# incase the user hasn't created a valid yaml list,
|
130
|
+
# make it a list.
|
131
|
+
show = "[" + show + "]"
|
132
|
+
format_doc.extend(yaml.safe_load(show))
|
133
|
+
|
134
|
+
return ColumnBuilder(ctx, result_list).build_columns(format_doc, **kwargs)
|
agilicus/output/table.py
CHANGED
@@ -2,7 +2,6 @@ import operator
|
|
2
2
|
import json
|
3
3
|
from babel import numbers
|
4
4
|
from datetime import timezone, datetime
|
5
|
-
from collections import OrderedDict
|
6
5
|
|
7
6
|
from agilicus import context
|
8
7
|
from agilicus.output.json import convert_to_json
|
@@ -11,6 +10,7 @@ from dataclasses import dataclass
|
|
11
10
|
from typing import Callable
|
12
11
|
|
13
12
|
from prettytable import PrettyTable
|
13
|
+
from . import column_builder
|
14
14
|
|
15
15
|
|
16
16
|
def format_date(date_input):
|
@@ -288,91 +288,5 @@ def output_entry(ctx, entry):
|
|
288
288
|
print(table)
|
289
289
|
|
290
290
|
|
291
|
-
def
|
292
|
-
|
293
|
-
if not result_list:
|
294
|
-
return results
|
295
|
-
obj = result_list[0]
|
296
|
-
if subtable_column_name:
|
297
|
-
obj = getattr(obj, subtable_column_name)
|
298
|
-
if not obj:
|
299
|
-
# nothing available
|
300
|
-
return results
|
301
|
-
obj = obj[0]
|
302
|
-
return set(obj.to_dict().keys())
|
303
|
-
|
304
|
-
|
305
|
-
def make_subtable(ctx, result_list, name):
|
306
|
-
split_name = name.split(":")
|
307
|
-
base_name = split_name[0]
|
308
|
-
show = ":".join(split_name[1:])
|
309
|
-
columns = make_columns(
|
310
|
-
ctx, result_list, [], show=show, subtable_column_name=base_name
|
311
|
-
)
|
312
|
-
return subtable(
|
313
|
-
ctx,
|
314
|
-
base_name,
|
315
|
-
columns=columns,
|
316
|
-
optional=True,
|
317
|
-
)
|
318
|
-
|
319
|
-
|
320
|
-
def make_columns(
|
321
|
-
ctx,
|
322
|
-
result_list,
|
323
|
-
base_columns,
|
324
|
-
show=None,
|
325
|
-
clear=False,
|
326
|
-
subtable_column_name=None,
|
327
|
-
**kwargs,
|
328
|
-
):
|
329
|
-
"""
|
330
|
-
A generic build for making columns, configurable by user
|
331
|
-
to choose specific columns or subtables.
|
332
|
-
|
333
|
-
Add the following options to your command:
|
334
|
-
@click.option("--show", type=str, default=None)
|
335
|
-
@click.option("--clear", is_flag=True, default=False)
|
336
|
-
|
337
|
-
Then call make_columns (for example)
|
338
|
-
columns = make_columns(ctx, results, ["id", "email"], show=show, clear=clear)
|
339
|
-
|
340
|
-
This make the 'default' show have columns 'id', 'email'.
|
341
|
-
|
342
|
-
You may clear it, and start from scratch:
|
343
|
-
|
344
|
-
show just email:
|
345
|
-
--clear --show email
|
346
|
-
|
347
|
-
show email and the id
|
348
|
-
--clear --show id,email
|
349
|
-
|
350
|
-
show all columns
|
351
|
-
--clear --show all
|
352
|
-
|
353
|
-
show a subtable:
|
354
|
-
--clear --show id,email,upstream_user_identities:all
|
355
|
-
|
356
|
-
show a specific column in the subtable:
|
357
|
-
--clear --show id,email,upstream_user_identities:spec.upstream_idp_id
|
358
|
-
"""
|
359
|
-
column_names = OrderedDict()
|
360
|
-
if not clear:
|
361
|
-
for name in base_columns:
|
362
|
-
column_names[name] = column(name, optional=True)
|
363
|
-
|
364
|
-
if not show:
|
365
|
-
return list(column_names.values())
|
366
|
-
|
367
|
-
for column_name in show.split(","):
|
368
|
-
if column_name == "all":
|
369
|
-
for c in get_column_names(result_list, subtable_column_name):
|
370
|
-
column_names[c] = column(c, optional=True)
|
371
|
-
elif ":" in column_name:
|
372
|
-
column_names[column_name.split(":")[0]] = make_subtable(
|
373
|
-
ctx, result_list, column_name
|
374
|
-
)
|
375
|
-
else:
|
376
|
-
column_names[column_name] = column(column_name, optional=True)
|
377
|
-
|
378
|
-
return list(column_names.values())
|
291
|
+
def make_columns(*args, **kwargs):
|
292
|
+
return column_builder.make_columns(*args, **kwargs)
|
File without changes
|
@@ -0,0 +1,73 @@
|
|
1
|
+
import agilicus
|
2
|
+
from .. import column_builder
|
3
|
+
|
4
|
+
|
5
|
+
def test_simple():
|
6
|
+
assert column_builder.make_columns(None, [], "") == []
|
7
|
+
|
8
|
+
|
9
|
+
def test_show_single_column():
|
10
|
+
results = [
|
11
|
+
agilicus.User._from_openapi_data(
|
12
|
+
email=agilicus.Email("foo@bar.com"), type="user"
|
13
|
+
)
|
14
|
+
]
|
15
|
+
columns = column_builder.make_columns(None, results, "[email]")
|
16
|
+
assert len(columns) == 1
|
17
|
+
assert columns[0].in_name == "email"
|
18
|
+
assert columns[0].out_name == "email"
|
19
|
+
|
20
|
+
|
21
|
+
def test_show_multi_column():
|
22
|
+
results = [
|
23
|
+
agilicus.User._from_openapi_data(
|
24
|
+
id="one", email=agilicus.Email("foo@bar.com"), type="user"
|
25
|
+
)
|
26
|
+
]
|
27
|
+
columns = column_builder.make_columns(None, results, "[id,email]")
|
28
|
+
assert len(columns) == 2
|
29
|
+
assert columns[0].in_name == "id"
|
30
|
+
assert columns[0].out_name == "id"
|
31
|
+
|
32
|
+
assert columns[1].in_name == "email"
|
33
|
+
assert columns[1].out_name == "email"
|
34
|
+
|
35
|
+
|
36
|
+
def test_rename_col():
|
37
|
+
results = [
|
38
|
+
agilicus.User._from_openapi_data(
|
39
|
+
id="one", email=agilicus.Email("foo@bar.com"), type="user"
|
40
|
+
)
|
41
|
+
]
|
42
|
+
columns = column_builder.make_columns(
|
43
|
+
None, results, "[id(newname=blah),email(newname=huh)]"
|
44
|
+
)
|
45
|
+
assert len(columns) == 2
|
46
|
+
assert columns[0].in_name == "id"
|
47
|
+
assert columns[0].out_name == "blah"
|
48
|
+
|
49
|
+
assert columns[1].in_name == "email"
|
50
|
+
assert columns[1].out_name == "huh"
|
51
|
+
|
52
|
+
|
53
|
+
def test_subtable():
|
54
|
+
spec = agilicus.UpstreamUserIdentitySpec(
|
55
|
+
upstream_user_id="user-id", upstream_idp_id="idp-id", local_user_id="local-id"
|
56
|
+
)
|
57
|
+
identities = [agilicus.UpstreamUserIdentity(spec)]
|
58
|
+
results = [
|
59
|
+
agilicus.User._from_openapi_data(
|
60
|
+
id="one",
|
61
|
+
email=agilicus.Email("foo@bar.com"),
|
62
|
+
type="user",
|
63
|
+
upstream_user_identites=identities,
|
64
|
+
)
|
65
|
+
]
|
66
|
+
columns = column_builder.make_columns(
|
67
|
+
None,
|
68
|
+
results,
|
69
|
+
"[id,email,upstream_user_identities: [upstream_user_id,local_user_id]]",
|
70
|
+
)
|
71
|
+
assert len(columns) == 3
|
72
|
+
assert columns[2].in_name == "upstream_user_identities"
|
73
|
+
assert columns[2].out_name == "upstream_user_identities"
|
agilicus/users.py
CHANGED
@@ -26,7 +26,6 @@ from .output.table import (
|
|
26
26
|
spec_column,
|
27
27
|
status_column,
|
28
28
|
subtable,
|
29
|
-
make_columns,
|
30
29
|
)
|
31
30
|
|
32
31
|
USERS_BASE_URI = "/users"
|
@@ -1189,26 +1188,3 @@ def format_user_orgs(ctx, orgs):
|
|
1189
1188
|
]
|
1190
1189
|
|
1191
1190
|
return format_table(ctx, orgs, columns)
|
1192
|
-
|
1193
|
-
|
1194
|
-
def format_users(
|
1195
|
-
ctx,
|
1196
|
-
users_list,
|
1197
|
-
**kwargs,
|
1198
|
-
):
|
1199
|
-
columns = make_columns(
|
1200
|
-
ctx,
|
1201
|
-
users_list,
|
1202
|
-
[
|
1203
|
-
"id",
|
1204
|
-
"first_name",
|
1205
|
-
"last_name",
|
1206
|
-
"email",
|
1207
|
-
"org_id",
|
1208
|
-
"status",
|
1209
|
-
"created",
|
1210
|
-
"updated",
|
1211
|
-
],
|
1212
|
-
**kwargs,
|
1213
|
-
)
|
1214
|
-
return format_table(ctx, users_list, columns, getter=operator.itemgetter)
|
@@ -67,9 +67,9 @@ agilicus/agilicus_api/api/users_api.py,sha256=LYBkMTRfpgSYHuFgFnkndHdJn9J__dGbqK
|
|
67
67
|
agilicus/agilicus_api/api/users_api_mock.py,sha256=wA_xiqL3Pz3KjljKlsmf5NveLZS1FpbaKJHBp7QvarY,15411
|
68
68
|
agilicus/agilicus_api/api/whoami_api.py,sha256=g871DyNxDhGWCmkr-jiMan9gsz9vf9CTkhZ_0VG5iuQ,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=zByfZSGzpdL56Th5cUFUiz31gx_C8uDPiIj8XDo8cPo,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=N3olY94-AK3IiVFHCZwHYtguOXLAL_d2TgcBhFpeQ8k,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
|
@@ -2338,7 +2338,7 @@ agilicus/agilicus_api/test/test_x509_root_certificate.py,sha256=Lfg4RqEI4LW1TcMv
|
|
2338
2338
|
agilicus/agilicus_api/test/test_x509_root_certificate_spec.py,sha256=8rBBKZ1fEUFWalJ-Us0gW8YsEiQ0CvWx9rwvYXY2xSw,2832
|
2339
2339
|
agilicus/agilicus_api/test/test_x509_root_certificate_status.py,sha256=sU8X_0AYylgIY7t39Eu1S_0EkxfJF25QBxIVOQlrwoU,2846
|
2340
2340
|
agilicus/agilicus_api/test/test_xss_settings.py,sha256=e_pj73f8a6buA5B0cZgLV4Pu2BXUyfFmLLxVvW3I3Tw,2746
|
2341
|
-
agilicus/agilicus_api_README.md,sha256=
|
2341
|
+
agilicus/agilicus_api_README.md,sha256=ZPZtB66boJs_i4YT5e-fFnWfGU-JV_fMFIcBFGvO8VE,150199
|
2342
2342
|
agilicus/aliases.ini,sha256=MxqiVo2f2xdUDVF1YDkNW36AIqN8hrYjlTVfraEUZXY,455
|
2343
2343
|
agilicus/amq.py,sha256=yxi-YTbJPVl10s78Hlr1dmrQR63iaSIoROGVILzFPmE,1775
|
2344
2344
|
agilicus/apps.py,sha256=3j7Yj82S8hr4IHw2uzYiJ1-kOq_9PT1G0-0ZbxflAQ0,48757
|
@@ -2364,8 +2364,8 @@ agilicus/desktops.py,sha256=YdZlo5-MP9zNajfQ4xfoHOux1hKkcpnZZDAs3YjvMgU,10013
|
|
2364
2364
|
agilicus/env_config.py,sha256=sqg9hecJYA7jXj58TmZOvmYboqIKbZ5Rxl2Rqe75M4Q,7629
|
2365
2365
|
agilicus/examples/update_user.py,sha256=jGaEVTWFFlD26soSEYYcAtlGfELU85z3YnXAwK5q4fM,1082
|
2366
2366
|
agilicus/features/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2367
|
-
agilicus/features/features.py,sha256=
|
2368
|
-
agilicus/features/features_main.py,sha256=
|
2367
|
+
agilicus/features/features.py,sha256=nqxAo69Bn1zafBB2VbiCXixa17jWMrxN6V0u3iyqs0c,2327
|
2368
|
+
agilicus/features/features_main.py,sha256=InvXz-Eka6ySQAUM-u6KBkRPEY5lviHuZXeow5uqLto,3779
|
2369
2369
|
agilicus/features.py,sha256=wnh3uD57xZRzt4aCYCrGXu4DaMKv2-uwZc3akUiXUYE,1118
|
2370
2370
|
agilicus/file_shares.py,sha256=ZwO3OwfRsDTZu6VwDcvqyC5OeHWnoA9hQ8vzygXGeE8,4326
|
2371
2371
|
agilicus/files.py,sha256=rgyUytII4LjsPdIIJVvqx8GnsUQmowDbGKK0VKGiglk,7272
|
@@ -2385,14 +2385,17 @@ agilicus/labels/labels_main.py,sha256=aXRNRT1CPiUc0x1Gh_VoCmzrbROzsC5e9ycrwPNT0q
|
|
2385
2385
|
agilicus/launchers.py,sha256=Yy59dzHMCz9ZSs_mMjVGaTw3vdNX58WsmIfX56by69U,11077
|
2386
2386
|
agilicus/logs.py,sha256=tS8c_sdre1Dncrl59GVGQ0L3d2jtwlVjvIMl3SHJraY,766
|
2387
2387
|
agilicus/lookups.py,sha256=MNmNsKpP7Fq_poLAnL9xo_iptFilKM9ziGLyIe8VKaw,669
|
2388
|
-
agilicus/main.py,sha256=
|
2388
|
+
agilicus/main.py,sha256=MIkxsAQM3MB2xMP-toZ1iRlQZiXJuEPh7oxFUert3Mk,255835
|
2389
2389
|
agilicus/messages.py,sha256=Ydm-VhAsK23UnYdstv_HsOybBODfui5ubKc7F8R_dsw,5187
|
2390
2390
|
agilicus/metrics.py,sha256=9l0T7ea4Gvcj7A1C4uC4mv6v26_S8HKnmIuxJjq3mQw,1424
|
2391
2391
|
agilicus/orgs.py,sha256=hrKmF8RI4H1htQNWPiwFOzy2EPBLdgNpV4c9CMxYSiM,12701
|
2392
2392
|
agilicus/output/__init__.py,sha256=UKZbHS4t15vazJuN46FN-3HHqkxMXU0p3df2VcsSLcY,110
|
2393
|
+
agilicus/output/column_builder.py,sha256=TWo4t8ygaTUv7qjD_moDroD1bKzzyTIao0FmLy5gs4o,4284
|
2393
2394
|
agilicus/output/console.py,sha256=xBURxlA7H1kmQ7zIKuifs_aQJq1cvmCJ5CtQVSo3_Ns,400
|
2394
2395
|
agilicus/output/json.py,sha256=5UU8Fm_b46y8iu3EPkg2eWwdbCyubgCxIdfecDTd4_Y,663
|
2395
|
-
agilicus/output/table.py,sha256=
|
2396
|
+
agilicus/output/table.py,sha256=RzPMpaFPP5HP7h6LQSQF8nNnDBErJnOjosuCGiDS2jI,7542
|
2397
|
+
agilicus/output/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2398
|
+
agilicus/output/tests/column_builder_test.py,sha256=fKP4V5sqXtmEIr-Q0gWVSFdBqCUtugZkP6G5gML_T7I,2130
|
2396
2399
|
agilicus/pagination/pagination.py,sha256=AG2DI6Kurv6akZ6lV2M3ynDtE8C4js5x3wCOVzasCuI,1576
|
2397
2400
|
agilicus/patches.py,sha256=qTqLOgCAcFZPcPOkgfqMnK9bnqTXMvj_0ERsjRFcZug,1384
|
2398
2401
|
agilicus/permissions.py,sha256=uB65yuDFICp1N10m0cdUjgizx9MQzAbLbAsBSTw1Rcc,2117
|
@@ -2416,11 +2419,11 @@ agilicus/tokens.py,sha256=PAqIE_9nLPEcXAGWP5g9WFAEiUelj56NPb4-gQEvTuA,15177
|
|
2416
2419
|
agilicus/transfers.py,sha256=PYr_fW7dyXNUXzi5Wp5mUjZOvU7MbRzoN-D8Omo-YSQ,1523
|
2417
2420
|
agilicus/trusted_certs/trusted_certs.py,sha256=HCAvYxOA3ooaee2_KbYJd6Yt_dxDEn8hjhy1upVJUYE,7951
|
2418
2421
|
agilicus/trusted_certs/trusted_certs_main.py,sha256=6dHHWXvNIcUa_nA9ptigL4Vibe4nB2wnWFTTJ8AOgXo,5155
|
2419
|
-
agilicus/users.py,sha256=
|
2422
|
+
agilicus/users.py,sha256=lT1EoyjwKjRoc0NoU6ANGHRSetN-t8AMgkllCKZP0UM,38746
|
2420
2423
|
agilicus/version.py,sha256=G9OFdL1v_4dLDfk6I6taDNypM5bbO-JHAwilsu9LYgg,23
|
2421
2424
|
agilicus/whoami.py,sha256=kqghtWMgZOd2rhKmfguDwCTm6A3gNS8Kj-S2IBxBtl0,206
|
2422
|
-
agilicus-1.235.
|
2423
|
-
agilicus-1.235.
|
2424
|
-
agilicus-1.235.
|
2425
|
-
agilicus-1.235.
|
2426
|
-
agilicus-1.235.
|
2425
|
+
agilicus-1.235.7.dist-info/LICENSE.txt,sha256=Zq4tqiCroC2CVrBB_PWjapRdvpae23nljdiaSkOzUho,1061
|
2426
|
+
agilicus-1.235.7.dist-info/METADATA,sha256=5kIvoRTQYYlA8PeqFzf4hi6dilXYLkKy6INVmDxj4uM,3742
|
2427
|
+
agilicus-1.235.7.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
2428
|
+
agilicus-1.235.7.dist-info/entry_points.txt,sha256=a66hGozzLkHu0IewFzIMbSAhMTNTddUaA2T3_16Gb_s,51
|
2429
|
+
agilicus-1.235.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|