agilicus 1.236.6__py3-none-any.whl → 1.237.1__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- agilicus/.openapi-generator/FILES +9 -0
- agilicus/agilicus_api/__init__.py +3 -0
- agilicus/agilicus_api/api/files_api.py +717 -40
- agilicus/agilicus_api/api/files_api_mock.py +35 -0
- agilicus/agilicus_api/api_client.py +1 -1
- agilicus/agilicus_api/configuration.py +1 -1
- agilicus/agilicus_api/docs/FilesApi.md +447 -0
- agilicus/agilicus_api/docs/ListPublicFileOrgLinksResponse.md +15 -0
- agilicus/agilicus_api/docs/PublicFileOrgLink.md +14 -0
- agilicus/agilicus_api/docs/PublicFileOrgLinkSpec.md +15 -0
- agilicus/agilicus_api/model/list_public_file_org_links_response.py +307 -0
- agilicus/agilicus_api/model/public_file_org_link.py +295 -0
- agilicus/agilicus_api/model/public_file_org_link_spec.py +303 -0
- agilicus/agilicus_api/models/__init__.py +3 -0
- agilicus/agilicus_api/test/test_files_api.py +35 -0
- agilicus/agilicus_api/test/test_list_public_file_org_links_response.py +38 -0
- agilicus/agilicus_api/test/test_public_file_org_link.py +40 -0
- agilicus/agilicus_api/test/test_public_file_org_link_spec.py +36 -0
- agilicus/agilicus_api_README.md +9 -1
- agilicus/files_pkg/files_main.py +50 -0
- agilicus/files_pkg/public_file_org_links.py +60 -0
- agilicus/main.py +2 -0
- {agilicus-1.236.6.dist-info → agilicus-1.237.1.dist-info}/METADATA +2 -2
- {agilicus-1.236.6.dist-info → agilicus-1.237.1.dist-info}/RECORD +27 -16
- {agilicus-1.236.6.dist-info → agilicus-1.237.1.dist-info}/LICENSE.txt +0 -0
- {agilicus-1.236.6.dist-info → agilicus-1.237.1.dist-info}/WHEEL +0 -0
- {agilicus-1.236.6.dist-info → agilicus-1.237.1.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,303 @@
|
|
1
|
+
"""
|
2
|
+
Agilicus API
|
3
|
+
|
4
|
+
Agilicus is API-first. Modern software is controlled by other software, is open, is available for you to use the way you want, securely, simply. The OpenAPI Specification in YAML format is available on [www](https://www.agilicus.com/www/api/agilicus-openapi.yaml) for importing to other tools. A rendered, online viewable and usable version of this specification is available at [api](https://www.agilicus.com/api). You may try the API inline directly in the web page. To do so, first obtain an Authentication Token (the simplest way is to install the Python SDK, and then run `agilicus-cli --issuer https://MYISSUER get-token`). You will need an org-id for most calls (and can obtain from `agilicus-cli --issuer https://MYISSUER list-orgs`). The `MYISSUER` will typically be `auth.MYDOMAIN`, and you will see it as you sign-in to the administrative UI. This API releases on Bearer-Token authentication. To obtain a valid bearer token you will need to Authenticate to an Issuer with OpenID Connect (a superset of OAUTH2). Your \"issuer\" will look like https://auth.MYDOMAIN. For example, when you signed-up, if you said \"use my own domain name\" and assigned a CNAME of cloud.example.com, then your issuer would be https://auth.cloud.example.com. If you selected \"use an Agilicus supplied domain name\", your issuer would look like https://auth.myorg.agilicus.cloud. For test purposes you can use our [Python SDK](https://pypi.org/project/agilicus/) and run `agilicus-cli --issuer https://auth.MYDOMAIN get-token`. This API may be used in any language runtime that supports OpenAPI 3.0, or, you may use our [Python SDK](https://pypi.org/project/agilicus/), our [Typescript SDK](https://www.npmjs.com/package/@agilicus/angular), or our [Golang SDK](https://git.agilicus.com/pub/sdk-go). 100% of the activities in our system our API-driven, from our web-admin, through our progressive web applications, to all internals: there is nothing that is not accessible. For more information, see [developer resources](https://www.agilicus.com/developer). # noqa: E501
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 2024.01.18
|
7
|
+
Contact: dev@agilicus.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
"""
|
10
|
+
|
11
|
+
|
12
|
+
import re # noqa: F401
|
13
|
+
import sys # noqa: F401
|
14
|
+
|
15
|
+
from agilicus_api.model_utils import ( # noqa: F401
|
16
|
+
ApiTypeError,
|
17
|
+
ModelComposed,
|
18
|
+
ModelNormal,
|
19
|
+
ModelSimple,
|
20
|
+
cached_property,
|
21
|
+
change_keys_js_to_python,
|
22
|
+
convert_js_args_to_python_args,
|
23
|
+
date,
|
24
|
+
datetime,
|
25
|
+
file_type,
|
26
|
+
none_type,
|
27
|
+
validate_get_composed_info,
|
28
|
+
)
|
29
|
+
from ..model_utils import OpenApiModel
|
30
|
+
from agilicus_api.exceptions import ApiAttributeError
|
31
|
+
|
32
|
+
|
33
|
+
|
34
|
+
class PublicFileOrgLinkSpec(ModelNormal):
|
35
|
+
"""NOTE: This class is auto generated by OpenAPI Generator.
|
36
|
+
Ref: https://openapi-generator.tech
|
37
|
+
|
38
|
+
Do not edit the class manually.
|
39
|
+
|
40
|
+
Attributes:
|
41
|
+
allowed_values (dict): The key is the tuple path to the attribute
|
42
|
+
and the for var_name this is (var_name,). The value is a dict
|
43
|
+
with a capitalized key describing the allowed value and an allowed
|
44
|
+
value. These dicts store the allowed enum values.
|
45
|
+
attribute_map (dict): The key is attribute name
|
46
|
+
and the value is json key in definition.
|
47
|
+
discriminator_value_class_map (dict): A dict to go from the discriminator
|
48
|
+
variable value to the discriminator class name.
|
49
|
+
validations (dict): The key is the tuple path to the attribute
|
50
|
+
and the for var_name this is (var_name,). The value is a dict
|
51
|
+
that stores validations for max_length, min_length, max_items,
|
52
|
+
min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
|
53
|
+
inclusive_minimum, and regex.
|
54
|
+
additional_properties_type (tuple): A tuple of classes accepted
|
55
|
+
as additional properties values.
|
56
|
+
"""
|
57
|
+
|
58
|
+
allowed_values = {
|
59
|
+
}
|
60
|
+
|
61
|
+
validations = {
|
62
|
+
}
|
63
|
+
|
64
|
+
@property
|
65
|
+
def file_tag(self):
|
66
|
+
return self.get("file_tag")
|
67
|
+
|
68
|
+
@file_tag.setter
|
69
|
+
def file_tag(self, new_value):
|
70
|
+
self.file_tag = new_value
|
71
|
+
|
72
|
+
@property
|
73
|
+
def link_org_id(self):
|
74
|
+
return self.get("link_org_id")
|
75
|
+
|
76
|
+
@link_org_id.setter
|
77
|
+
def link_org_id(self, new_value):
|
78
|
+
self.link_org_id = new_value
|
79
|
+
|
80
|
+
@property
|
81
|
+
def target_org_id(self):
|
82
|
+
return self.get("target_org_id")
|
83
|
+
|
84
|
+
@target_org_id.setter
|
85
|
+
def target_org_id(self, new_value):
|
86
|
+
self.target_org_id = new_value
|
87
|
+
|
88
|
+
@cached_property
|
89
|
+
def additional_properties_type():
|
90
|
+
"""
|
91
|
+
This must be a method because a model may have properties that are
|
92
|
+
of type self, this must run after the class is loaded
|
93
|
+
"""
|
94
|
+
return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
|
95
|
+
|
96
|
+
_nullable = False
|
97
|
+
|
98
|
+
@cached_property
|
99
|
+
def openapi_types():
|
100
|
+
"""
|
101
|
+
This must be a method because a model may have properties that are
|
102
|
+
of type self, this must run after the class is loaded
|
103
|
+
|
104
|
+
Returns
|
105
|
+
openapi_types (dict): The key is attribute name
|
106
|
+
and the value is attribute type.
|
107
|
+
"""
|
108
|
+
return {
|
109
|
+
'file_tag': (str,), # noqa: E501
|
110
|
+
'link_org_id': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501
|
111
|
+
'target_org_id': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501
|
112
|
+
}
|
113
|
+
|
114
|
+
@cached_property
|
115
|
+
def discriminator():
|
116
|
+
return None
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
attribute_map = {
|
121
|
+
'file_tag': 'file_tag', # noqa: E501
|
122
|
+
'link_org_id': 'link_org_id', # noqa: E501
|
123
|
+
'target_org_id': 'target_org_id', # noqa: E501
|
124
|
+
}
|
125
|
+
|
126
|
+
read_only_vars = {
|
127
|
+
}
|
128
|
+
|
129
|
+
_composed_schemas = {}
|
130
|
+
|
131
|
+
@classmethod
|
132
|
+
@convert_js_args_to_python_args
|
133
|
+
def _from_openapi_data(cls, file_tag, link_org_id, target_org_id, *args, **kwargs): # noqa: E501
|
134
|
+
"""PublicFileOrgLinkSpec - a model defined in OpenAPI
|
135
|
+
|
136
|
+
Args:
|
137
|
+
file_tag (str): A file tag
|
138
|
+
link_org_id (bool, date, datetime, dict, float, int, list, str, none_type): requests for this org id will be linked to `target_org_id`
|
139
|
+
target_org_id (bool, date, datetime, dict, float, int, list, str, none_type): requests for `link_org_id` will be linked to this.
|
140
|
+
|
141
|
+
Keyword Args:
|
142
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
143
|
+
will be type checked and a TypeError will be
|
144
|
+
raised if the wrong type is input.
|
145
|
+
Defaults to True
|
146
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
147
|
+
drill down to the model in received_data
|
148
|
+
when deserializing a response
|
149
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
150
|
+
are serialized names, as specified in the OpenAPI document.
|
151
|
+
False if the variable names in the input data
|
152
|
+
are pythonic names, e.g. snake case (default)
|
153
|
+
_configuration (Configuration): the instance to use when
|
154
|
+
deserializing a file_type parameter.
|
155
|
+
If passed, type conversion is attempted
|
156
|
+
If omitted no type conversion is done.
|
157
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
158
|
+
classes that we have traveled through so that
|
159
|
+
if we see that class again we will not use its
|
160
|
+
discriminator again.
|
161
|
+
When traveling through a discriminator, the
|
162
|
+
composed schema that is
|
163
|
+
is traveled through is added to this set.
|
164
|
+
For example if Animal has a discriminator
|
165
|
+
petType and we pass in "Dog", and the class Dog
|
166
|
+
allOf includes Animal, we move through Animal
|
167
|
+
once using the discriminator, and pick Dog.
|
168
|
+
Then in Dog, we will make an instance of the
|
169
|
+
Animal class but this time we won't travel
|
170
|
+
through its discriminator because we passed in
|
171
|
+
_visited_composed_classes = (Animal,)
|
172
|
+
"""
|
173
|
+
|
174
|
+
_check_type = kwargs.pop('_check_type', True)
|
175
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
176
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
177
|
+
_configuration = kwargs.pop('_configuration', None)
|
178
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
179
|
+
|
180
|
+
self = super(OpenApiModel, cls).__new__(cls)
|
181
|
+
|
182
|
+
if args:
|
183
|
+
raise ApiTypeError(
|
184
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
185
|
+
args,
|
186
|
+
self.__class__.__name__,
|
187
|
+
),
|
188
|
+
path_to_item=_path_to_item,
|
189
|
+
valid_classes=(self.__class__,),
|
190
|
+
)
|
191
|
+
|
192
|
+
self._data_store = {}
|
193
|
+
self._check_type = _check_type
|
194
|
+
self._spec_property_naming = _spec_property_naming
|
195
|
+
self._path_to_item = _path_to_item
|
196
|
+
self._configuration = _configuration
|
197
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
198
|
+
|
199
|
+
self.file_tag = file_tag
|
200
|
+
self.link_org_id = link_org_id
|
201
|
+
self.target_org_id = target_org_id
|
202
|
+
for var_name, var_value in kwargs.items():
|
203
|
+
if var_name not in self.attribute_map and \
|
204
|
+
self._configuration is not None and \
|
205
|
+
self._configuration.discard_unknown_keys and \
|
206
|
+
self.additional_properties_type is None:
|
207
|
+
# discard variable.
|
208
|
+
continue
|
209
|
+
setattr(self, var_name, var_value)
|
210
|
+
return self
|
211
|
+
|
212
|
+
def __python_set(val):
|
213
|
+
return set(val)
|
214
|
+
|
215
|
+
required_properties = __python_set([
|
216
|
+
'_data_store',
|
217
|
+
'_check_type',
|
218
|
+
'_spec_property_naming',
|
219
|
+
'_path_to_item',
|
220
|
+
'_configuration',
|
221
|
+
'_visited_composed_classes',
|
222
|
+
])
|
223
|
+
|
224
|
+
@convert_js_args_to_python_args
|
225
|
+
def __init__(self, file_tag, link_org_id, target_org_id, *args, **kwargs): # noqa: E501
|
226
|
+
"""PublicFileOrgLinkSpec - a model defined in OpenAPI
|
227
|
+
|
228
|
+
Args:
|
229
|
+
file_tag (str): A file tag
|
230
|
+
link_org_id (bool, date, datetime, dict, float, int, list, str, none_type): requests for this org id will be linked to `target_org_id`
|
231
|
+
target_org_id (bool, date, datetime, dict, float, int, list, str, none_type): requests for `link_org_id` will be linked to this.
|
232
|
+
|
233
|
+
Keyword Args:
|
234
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
235
|
+
will be type checked and a TypeError will be
|
236
|
+
raised if the wrong type is input.
|
237
|
+
Defaults to True
|
238
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
239
|
+
drill down to the model in received_data
|
240
|
+
when deserializing a response
|
241
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
242
|
+
are serialized names, as specified in the OpenAPI document.
|
243
|
+
False if the variable names in the input data
|
244
|
+
are pythonic names, e.g. snake case (default)
|
245
|
+
_configuration (Configuration): the instance to use when
|
246
|
+
deserializing a file_type parameter.
|
247
|
+
If passed, type conversion is attempted
|
248
|
+
If omitted no type conversion is done.
|
249
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
250
|
+
classes that we have traveled through so that
|
251
|
+
if we see that class again we will not use its
|
252
|
+
discriminator again.
|
253
|
+
When traveling through a discriminator, the
|
254
|
+
composed schema that is
|
255
|
+
is traveled through is added to this set.
|
256
|
+
For example if Animal has a discriminator
|
257
|
+
petType and we pass in "Dog", and the class Dog
|
258
|
+
allOf includes Animal, we move through Animal
|
259
|
+
once using the discriminator, and pick Dog.
|
260
|
+
Then in Dog, we will make an instance of the
|
261
|
+
Animal class but this time we won't travel
|
262
|
+
through its discriminator because we passed in
|
263
|
+
_visited_composed_classes = (Animal,)
|
264
|
+
"""
|
265
|
+
|
266
|
+
_check_type = kwargs.pop('_check_type', True)
|
267
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
268
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
269
|
+
_configuration = kwargs.pop('_configuration', None)
|
270
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
271
|
+
|
272
|
+
if args:
|
273
|
+
raise ApiTypeError(
|
274
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
275
|
+
args,
|
276
|
+
self.__class__.__name__,
|
277
|
+
),
|
278
|
+
path_to_item=_path_to_item,
|
279
|
+
valid_classes=(self.__class__,),
|
280
|
+
)
|
281
|
+
|
282
|
+
self._data_store = {}
|
283
|
+
self._check_type = _check_type
|
284
|
+
self._spec_property_naming = _spec_property_naming
|
285
|
+
self._path_to_item = _path_to_item
|
286
|
+
self._configuration = _configuration
|
287
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
288
|
+
|
289
|
+
self.file_tag = file_tag
|
290
|
+
self.link_org_id = link_org_id
|
291
|
+
self.target_org_id = target_org_id
|
292
|
+
for var_name, var_value in kwargs.items():
|
293
|
+
if var_name not in self.attribute_map and \
|
294
|
+
self._configuration is not None and \
|
295
|
+
self._configuration.discard_unknown_keys and \
|
296
|
+
self.additional_properties_type is None:
|
297
|
+
# discard variable.
|
298
|
+
continue
|
299
|
+
setattr(self, var_name, var_value)
|
300
|
+
if var_name in self.read_only_vars:
|
301
|
+
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
|
302
|
+
f"class with read only attributes.")
|
303
|
+
|
@@ -386,6 +386,7 @@ from agilicus_api.model.list_point_of_presences_response import ListPointOfPrese
|
|
386
386
|
from agilicus_api.model.list_policies_response import ListPoliciesResponse
|
387
387
|
from agilicus_api.model.list_policy_rules_response import ListPolicyRulesResponse
|
388
388
|
from agilicus_api.model.list_products_response import ListProductsResponse
|
389
|
+
from agilicus_api.model.list_public_file_org_links_response import ListPublicFileOrgLinksResponse
|
389
390
|
from agilicus_api.model.list_resource_permissions_response import ListResourcePermissionsResponse
|
390
391
|
from agilicus_api.model.list_resource_roles_response import ListResourceRolesResponse
|
391
392
|
from agilicus_api.model.list_resources_response import ListResourcesResponse
|
@@ -541,6 +542,8 @@ from agilicus_api.model.previous_page_email import PreviousPageEmail
|
|
541
542
|
from agilicus_api.model.product import Product
|
542
543
|
from agilicus_api.model.product_spec import ProductSpec
|
543
544
|
from agilicus_api.model.product_status import ProductStatus
|
545
|
+
from agilicus_api.model.public_file_org_link import PublicFileOrgLink
|
546
|
+
from agilicus_api.model.public_file_org_link_spec import PublicFileOrgLinkSpec
|
544
547
|
from agilicus_api.model.raw_token import RawToken
|
545
548
|
from agilicus_api.model.reconcile_sub_org_issuer_request import ReconcileSubOrgIssuerRequest
|
546
549
|
from agilicus_api.model.referrer_policy_settings import ReferrerPolicySettings
|
@@ -45,6 +45,13 @@ class TestFilesApi(unittest.TestCase):
|
|
45
45
|
"""
|
46
46
|
pass
|
47
47
|
|
48
|
+
def test_create_public_file_org_link(self):
|
49
|
+
"""Test case for create_public_file_org_link
|
50
|
+
|
51
|
+
link public files based on org # noqa: E501
|
52
|
+
"""
|
53
|
+
pass
|
54
|
+
|
48
55
|
def test_delete_file(self):
|
49
56
|
"""Test case for delete_file
|
50
57
|
|
@@ -59,6 +66,13 @@ class TestFilesApi(unittest.TestCase):
|
|
59
66
|
"""
|
60
67
|
pass
|
61
68
|
|
69
|
+
def test_delete_public_file_org_link(self):
|
70
|
+
"""Test case for delete_public_file_org_link
|
71
|
+
|
72
|
+
Remove a link from an org # noqa: E501
|
73
|
+
"""
|
74
|
+
pass
|
75
|
+
|
62
76
|
def test_get_download(self):
|
63
77
|
"""Test case for get_download
|
64
78
|
|
@@ -87,6 +101,13 @@ class TestFilesApi(unittest.TestCase):
|
|
87
101
|
"""
|
88
102
|
pass
|
89
103
|
|
104
|
+
def test_get_public_file_org_link(self):
|
105
|
+
"""Test case for get_public_file_org_link
|
106
|
+
|
107
|
+
Get a public file org link # noqa: E501
|
108
|
+
"""
|
109
|
+
pass
|
110
|
+
|
90
111
|
def test_list_file_associations(self):
|
91
112
|
"""Test case for list_file_associations
|
92
113
|
|
@@ -101,6 +122,13 @@ class TestFilesApi(unittest.TestCase):
|
|
101
122
|
"""
|
102
123
|
pass
|
103
124
|
|
125
|
+
def test_list_public_file_org_links(self):
|
126
|
+
"""Test case for list_public_file_org_links
|
127
|
+
|
128
|
+
Query Public File Org Links # noqa: E501
|
129
|
+
"""
|
130
|
+
pass
|
131
|
+
|
104
132
|
def test_replace_file(self):
|
105
133
|
"""Test case for replace_file
|
106
134
|
|
@@ -108,6 +136,13 @@ class TestFilesApi(unittest.TestCase):
|
|
108
136
|
"""
|
109
137
|
pass
|
110
138
|
|
139
|
+
def test_replace_public_file_org_link(self):
|
140
|
+
"""Test case for replace_public_file_org_link
|
141
|
+
|
142
|
+
Replace a public file org link # noqa: E501
|
143
|
+
"""
|
144
|
+
pass
|
145
|
+
|
111
146
|
def test_reupload_file(self):
|
112
147
|
"""Test case for reupload_file
|
113
148
|
|
@@ -0,0 +1,38 @@
|
|
1
|
+
"""
|
2
|
+
Agilicus API
|
3
|
+
|
4
|
+
Agilicus is API-first. Modern software is controlled by other software, is open, is available for you to use the way you want, securely, simply. The OpenAPI Specification in YAML format is available on [www](https://www.agilicus.com/www/api/agilicus-openapi.yaml) for importing to other tools. A rendered, online viewable and usable version of this specification is available at [api](https://www.agilicus.com/api). You may try the API inline directly in the web page. To do so, first obtain an Authentication Token (the simplest way is to install the Python SDK, and then run `agilicus-cli --issuer https://MYISSUER get-token`). You will need an org-id for most calls (and can obtain from `agilicus-cli --issuer https://MYISSUER list-orgs`). The `MYISSUER` will typically be `auth.MYDOMAIN`, and you will see it as you sign-in to the administrative UI. This API releases on Bearer-Token authentication. To obtain a valid bearer token you will need to Authenticate to an Issuer with OpenID Connect (a superset of OAUTH2). Your \"issuer\" will look like https://auth.MYDOMAIN. For example, when you signed-up, if you said \"use my own domain name\" and assigned a CNAME of cloud.example.com, then your issuer would be https://auth.cloud.example.com. If you selected \"use an Agilicus supplied domain name\", your issuer would look like https://auth.myorg.agilicus.cloud. For test purposes you can use our [Python SDK](https://pypi.org/project/agilicus/) and run `agilicus-cli --issuer https://auth.MYDOMAIN get-token`. This API may be used in any language runtime that supports OpenAPI 3.0, or, you may use our [Python SDK](https://pypi.org/project/agilicus/), our [Typescript SDK](https://www.npmjs.com/package/@agilicus/angular), or our [Golang SDK](https://git.agilicus.com/pub/sdk-go). 100% of the activities in our system our API-driven, from our web-admin, through our progressive web applications, to all internals: there is nothing that is not accessible. For more information, see [developer resources](https://www.agilicus.com/developer). # noqa: E501
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 2024.01.18
|
7
|
+
Contact: dev@agilicus.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
"""
|
10
|
+
|
11
|
+
|
12
|
+
import sys
|
13
|
+
import unittest
|
14
|
+
|
15
|
+
import agilicus_api
|
16
|
+
from agilicus_api.model.public_file_org_link import PublicFileOrgLink
|
17
|
+
globals()['PublicFileOrgLink'] = PublicFileOrgLink
|
18
|
+
from agilicus_api.model.list_public_file_org_links_response import ListPublicFileOrgLinksResponse
|
19
|
+
|
20
|
+
|
21
|
+
class TestListPublicFileOrgLinksResponse(unittest.TestCase):
|
22
|
+
"""ListPublicFileOrgLinksResponse unit test stubs"""
|
23
|
+
|
24
|
+
def setUp(self):
|
25
|
+
pass
|
26
|
+
|
27
|
+
def tearDown(self):
|
28
|
+
pass
|
29
|
+
|
30
|
+
def testListPublicFileOrgLinksResponse(self):
|
31
|
+
"""Test ListPublicFileOrgLinksResponse"""
|
32
|
+
# FIXME: construct object with mandatory attributes with example values
|
33
|
+
# model = ListPublicFileOrgLinksResponse() # noqa: E501
|
34
|
+
pass
|
35
|
+
|
36
|
+
|
37
|
+
if __name__ == '__main__':
|
38
|
+
unittest.main()
|
@@ -0,0 +1,40 @@
|
|
1
|
+
"""
|
2
|
+
Agilicus API
|
3
|
+
|
4
|
+
Agilicus is API-first. Modern software is controlled by other software, is open, is available for you to use the way you want, securely, simply. The OpenAPI Specification in YAML format is available on [www](https://www.agilicus.com/www/api/agilicus-openapi.yaml) for importing to other tools. A rendered, online viewable and usable version of this specification is available at [api](https://www.agilicus.com/api). You may try the API inline directly in the web page. To do so, first obtain an Authentication Token (the simplest way is to install the Python SDK, and then run `agilicus-cli --issuer https://MYISSUER get-token`). You will need an org-id for most calls (and can obtain from `agilicus-cli --issuer https://MYISSUER list-orgs`). The `MYISSUER` will typically be `auth.MYDOMAIN`, and you will see it as you sign-in to the administrative UI. This API releases on Bearer-Token authentication. To obtain a valid bearer token you will need to Authenticate to an Issuer with OpenID Connect (a superset of OAUTH2). Your \"issuer\" will look like https://auth.MYDOMAIN. For example, when you signed-up, if you said \"use my own domain name\" and assigned a CNAME of cloud.example.com, then your issuer would be https://auth.cloud.example.com. If you selected \"use an Agilicus supplied domain name\", your issuer would look like https://auth.myorg.agilicus.cloud. For test purposes you can use our [Python SDK](https://pypi.org/project/agilicus/) and run `agilicus-cli --issuer https://auth.MYDOMAIN get-token`. This API may be used in any language runtime that supports OpenAPI 3.0, or, you may use our [Python SDK](https://pypi.org/project/agilicus/), our [Typescript SDK](https://www.npmjs.com/package/@agilicus/angular), or our [Golang SDK](https://git.agilicus.com/pub/sdk-go). 100% of the activities in our system our API-driven, from our web-admin, through our progressive web applications, to all internals: there is nothing that is not accessible. For more information, see [developer resources](https://www.agilicus.com/developer). # noqa: E501
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 2024.01.18
|
7
|
+
Contact: dev@agilicus.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
"""
|
10
|
+
|
11
|
+
|
12
|
+
import sys
|
13
|
+
import unittest
|
14
|
+
|
15
|
+
import agilicus_api
|
16
|
+
from agilicus_api.model.metadata_with_id import MetadataWithId
|
17
|
+
from agilicus_api.model.public_file_org_link_spec import PublicFileOrgLinkSpec
|
18
|
+
globals()['MetadataWithId'] = MetadataWithId
|
19
|
+
globals()['PublicFileOrgLinkSpec'] = PublicFileOrgLinkSpec
|
20
|
+
from agilicus_api.model.public_file_org_link import PublicFileOrgLink
|
21
|
+
|
22
|
+
|
23
|
+
class TestPublicFileOrgLink(unittest.TestCase):
|
24
|
+
"""PublicFileOrgLink unit test stubs"""
|
25
|
+
|
26
|
+
def setUp(self):
|
27
|
+
pass
|
28
|
+
|
29
|
+
def tearDown(self):
|
30
|
+
pass
|
31
|
+
|
32
|
+
def testPublicFileOrgLink(self):
|
33
|
+
"""Test PublicFileOrgLink"""
|
34
|
+
# FIXME: construct object with mandatory attributes with example values
|
35
|
+
# model = PublicFileOrgLink() # noqa: E501
|
36
|
+
pass
|
37
|
+
|
38
|
+
|
39
|
+
if __name__ == '__main__':
|
40
|
+
unittest.main()
|
@@ -0,0 +1,36 @@
|
|
1
|
+
"""
|
2
|
+
Agilicus API
|
3
|
+
|
4
|
+
Agilicus is API-first. Modern software is controlled by other software, is open, is available for you to use the way you want, securely, simply. The OpenAPI Specification in YAML format is available on [www](https://www.agilicus.com/www/api/agilicus-openapi.yaml) for importing to other tools. A rendered, online viewable and usable version of this specification is available at [api](https://www.agilicus.com/api). You may try the API inline directly in the web page. To do so, first obtain an Authentication Token (the simplest way is to install the Python SDK, and then run `agilicus-cli --issuer https://MYISSUER get-token`). You will need an org-id for most calls (and can obtain from `agilicus-cli --issuer https://MYISSUER list-orgs`). The `MYISSUER` will typically be `auth.MYDOMAIN`, and you will see it as you sign-in to the administrative UI. This API releases on Bearer-Token authentication. To obtain a valid bearer token you will need to Authenticate to an Issuer with OpenID Connect (a superset of OAUTH2). Your \"issuer\" will look like https://auth.MYDOMAIN. For example, when you signed-up, if you said \"use my own domain name\" and assigned a CNAME of cloud.example.com, then your issuer would be https://auth.cloud.example.com. If you selected \"use an Agilicus supplied domain name\", your issuer would look like https://auth.myorg.agilicus.cloud. For test purposes you can use our [Python SDK](https://pypi.org/project/agilicus/) and run `agilicus-cli --issuer https://auth.MYDOMAIN get-token`. This API may be used in any language runtime that supports OpenAPI 3.0, or, you may use our [Python SDK](https://pypi.org/project/agilicus/), our [Typescript SDK](https://www.npmjs.com/package/@agilicus/angular), or our [Golang SDK](https://git.agilicus.com/pub/sdk-go). 100% of the activities in our system our API-driven, from our web-admin, through our progressive web applications, to all internals: there is nothing that is not accessible. For more information, see [developer resources](https://www.agilicus.com/developer). # noqa: E501
|
5
|
+
|
6
|
+
The version of the OpenAPI document: 2024.01.18
|
7
|
+
Contact: dev@agilicus.com
|
8
|
+
Generated by: https://openapi-generator.tech
|
9
|
+
"""
|
10
|
+
|
11
|
+
|
12
|
+
import sys
|
13
|
+
import unittest
|
14
|
+
|
15
|
+
import agilicus_api
|
16
|
+
from agilicus_api.model.public_file_org_link_spec import PublicFileOrgLinkSpec
|
17
|
+
|
18
|
+
|
19
|
+
class TestPublicFileOrgLinkSpec(unittest.TestCase):
|
20
|
+
"""PublicFileOrgLinkSpec unit test stubs"""
|
21
|
+
|
22
|
+
def setUp(self):
|
23
|
+
pass
|
24
|
+
|
25
|
+
def tearDown(self):
|
26
|
+
pass
|
27
|
+
|
28
|
+
def testPublicFileOrgLinkSpec(self):
|
29
|
+
"""Test PublicFileOrgLinkSpec"""
|
30
|
+
# FIXME: construct object with mandatory attributes with example values
|
31
|
+
# model = PublicFileOrgLinkSpec() # noqa: E501
|
32
|
+
pass
|
33
|
+
|
34
|
+
|
35
|
+
if __name__ == '__main__':
|
36
|
+
unittest.main()
|
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.01.18
|
7
|
-
- Package version: 1.
|
7
|
+
- Package version: 1.237.1
|
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
|
|
@@ -475,15 +475,20 @@ Class | Method | HTTP request | Description
|
|
475
475
|
*FilesApi* | [**add_file**](agilicus_api/docs/FilesApi.md#add_file) | **POST** /v1/files | upload a file
|
476
476
|
*FilesApi* | [**create_file_association**](agilicus_api/docs/FilesApi.md#create_file_association) | **POST** /v1/file_associations | associate a file with an object
|
477
477
|
*FilesApi* | [**create_file_association_clear_task**](agilicus_api/docs/FilesApi.md#create_file_association_clear_task) | **POST** /v1/file_association_clear | Cleans up file associations
|
478
|
+
*FilesApi* | [**create_public_file_org_link**](agilicus_api/docs/FilesApi.md#create_public_file_org_link) | **POST** /v1/public_file_org_links | link public files based on org
|
478
479
|
*FilesApi* | [**delete_file**](agilicus_api/docs/FilesApi.md#delete_file) | **DELETE** /v1/files/{file_id} | Delete a File
|
479
480
|
*FilesApi* | [**delete_file_association**](agilicus_api/docs/FilesApi.md#delete_file_association) | **DELETE** /v1/file_associations/{file_association_id} | Remove an association from a file
|
481
|
+
*FilesApi* | [**delete_public_file_org_link**](agilicus_api/docs/FilesApi.md#delete_public_file_org_link) | **DELETE** /v1/public_file_org_links/{public_file_org_link_id} | Remove a link from an org
|
480
482
|
*FilesApi* | [**get_download**](agilicus_api/docs/FilesApi.md#get_download) | **GET** /v1/files_download/{file_id} | Download File
|
481
483
|
*FilesApi* | [**get_download_public**](agilicus_api/docs/FilesApi.md#get_download_public) | **GET** /v1/files_public | Download public file
|
482
484
|
*FilesApi* | [**get_file**](agilicus_api/docs/FilesApi.md#get_file) | **GET** /v1/files/{file_id} | Get File metadata
|
483
485
|
*FilesApi* | [**get_file_association**](agilicus_api/docs/FilesApi.md#get_file_association) | **GET** /v1/file_associations/{file_association_id} | Get a file association
|
486
|
+
*FilesApi* | [**get_public_file_org_link**](agilicus_api/docs/FilesApi.md#get_public_file_org_link) | **GET** /v1/public_file_org_links/{public_file_org_link_id} | Get a public file org link
|
484
487
|
*FilesApi* | [**list_file_associations**](agilicus_api/docs/FilesApi.md#list_file_associations) | **GET** /v1/file_associations | Query File Associations
|
485
488
|
*FilesApi* | [**list_files**](agilicus_api/docs/FilesApi.md#list_files) | **GET** /v1/files | Query Files
|
489
|
+
*FilesApi* | [**list_public_file_org_links**](agilicus_api/docs/FilesApi.md#list_public_file_org_links) | **GET** /v1/public_file_org_links | Query Public File Org Links
|
486
490
|
*FilesApi* | [**replace_file**](agilicus_api/docs/FilesApi.md#replace_file) | **PUT** /v1/files/{file_id} | Update a file
|
491
|
+
*FilesApi* | [**replace_public_file_org_link**](agilicus_api/docs/FilesApi.md#replace_public_file_org_link) | **PUT** /v1/public_file_org_links/{public_file_org_link_id} | Replace a public file org link
|
487
492
|
*FilesApi* | [**reupload_file**](agilicus_api/docs/FilesApi.md#reupload_file) | **PUT** /v1/files/{file_id}/upload | Upload a new version of a file
|
488
493
|
*GroupsApi* | [**add_group_member**](agilicus_api/docs/GroupsApi.md#add_group_member) | **POST** /v1/groups/{group_id}/members | Add a group member
|
489
494
|
*GroupsApi* | [**create_group**](agilicus_api/docs/GroupsApi.md#create_group) | **POST** /v1/groups | Create a group
|
@@ -1138,6 +1143,7 @@ Class | Method | HTTP request | Description
|
|
1138
1143
|
- [ListPoliciesResponse](agilicus_api/docs/ListPoliciesResponse.md)
|
1139
1144
|
- [ListPolicyRulesResponse](agilicus_api/docs/ListPolicyRulesResponse.md)
|
1140
1145
|
- [ListProductsResponse](agilicus_api/docs/ListProductsResponse.md)
|
1146
|
+
- [ListPublicFileOrgLinksResponse](agilicus_api/docs/ListPublicFileOrgLinksResponse.md)
|
1141
1147
|
- [ListResourcePermissionsResponse](agilicus_api/docs/ListResourcePermissionsResponse.md)
|
1142
1148
|
- [ListResourceRolesResponse](agilicus_api/docs/ListResourceRolesResponse.md)
|
1143
1149
|
- [ListResourcesResponse](agilicus_api/docs/ListResourcesResponse.md)
|
@@ -1293,6 +1299,8 @@ Class | Method | HTTP request | Description
|
|
1293
1299
|
- [Product](agilicus_api/docs/Product.md)
|
1294
1300
|
- [ProductSpec](agilicus_api/docs/ProductSpec.md)
|
1295
1301
|
- [ProductStatus](agilicus_api/docs/ProductStatus.md)
|
1302
|
+
- [PublicFileOrgLink](agilicus_api/docs/PublicFileOrgLink.md)
|
1303
|
+
- [PublicFileOrgLinkSpec](agilicus_api/docs/PublicFileOrgLinkSpec.md)
|
1296
1304
|
- [RawToken](agilicus_api/docs/RawToken.md)
|
1297
1305
|
- [ReconcileSubOrgIssuerRequest](agilicus_api/docs/ReconcileSubOrgIssuerRequest.md)
|
1298
1306
|
- [ReferrerPolicySettings](agilicus_api/docs/ReferrerPolicySettings.md)
|
@@ -0,0 +1,50 @@
|
|
1
|
+
import click
|
2
|
+
|
3
|
+
from . import public_file_org_links
|
4
|
+
from ..output.table import output_entry
|
5
|
+
|
6
|
+
|
7
|
+
@click.command(name="add-public-file-org-link")
|
8
|
+
@click.option("--link-org-id", required=True)
|
9
|
+
@click.option("--target-org-id", required=True)
|
10
|
+
@click.option("--file-tag", required=True)
|
11
|
+
@click.pass_context
|
12
|
+
def cli_command_add_public_file_org_link(ctx, **kwargs):
|
13
|
+
output_entry(ctx, public_file_org_links.add_public_file_org_link(ctx, **kwargs))
|
14
|
+
|
15
|
+
|
16
|
+
@click.command(name="list-public-file-org-links")
|
17
|
+
@click.option("--link-org-id", default=None)
|
18
|
+
@click.option("--tag", default=None)
|
19
|
+
@click.option("--page-at-id", default=None)
|
20
|
+
@click.pass_context
|
21
|
+
def cli_command_list_public_file_org_links(ctx, **kwargs):
|
22
|
+
result = public_file_org_links.list_public_file_org_links(ctx, **kwargs)
|
23
|
+
print(public_file_org_links.format_public_file_org_links(ctx, result))
|
24
|
+
|
25
|
+
|
26
|
+
@click.command(name="get-public-file-org-link")
|
27
|
+
@click.option("--public-file-org-link-id", required=True)
|
28
|
+
@click.option("--link-org-id", required=True)
|
29
|
+
@click.pass_context
|
30
|
+
def cli_command_get_public_file_org_link(ctx, **kwargs):
|
31
|
+
output_entry(
|
32
|
+
ctx, public_file_org_links.get_public_file_org_link(ctx, **kwargs).to_dict()
|
33
|
+
)
|
34
|
+
|
35
|
+
|
36
|
+
@click.command(name="delete-public-file-org-link")
|
37
|
+
@click.option("--public-file-org-link-id", required=True)
|
38
|
+
@click.option("--link-org-id", required=True)
|
39
|
+
@click.pass_context
|
40
|
+
def cli_command_delete_public_file_org_link(ctx, **kwargs):
|
41
|
+
public_file_org_links.delete_public_file_org_link(ctx, **kwargs)
|
42
|
+
|
43
|
+
|
44
|
+
all_funcs = [func for func in dir() if "cli_command_" in func]
|
45
|
+
|
46
|
+
|
47
|
+
def add_commands(cli):
|
48
|
+
glob = globals()
|
49
|
+
for func in all_funcs:
|
50
|
+
cli.add_command(glob[func])
|