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.
Files changed (27) hide show
  1. agilicus/.openapi-generator/FILES +9 -0
  2. agilicus/agilicus_api/__init__.py +3 -0
  3. agilicus/agilicus_api/api/files_api.py +717 -40
  4. agilicus/agilicus_api/api/files_api_mock.py +35 -0
  5. agilicus/agilicus_api/api_client.py +1 -1
  6. agilicus/agilicus_api/configuration.py +1 -1
  7. agilicus/agilicus_api/docs/FilesApi.md +447 -0
  8. agilicus/agilicus_api/docs/ListPublicFileOrgLinksResponse.md +15 -0
  9. agilicus/agilicus_api/docs/PublicFileOrgLink.md +14 -0
  10. agilicus/agilicus_api/docs/PublicFileOrgLinkSpec.md +15 -0
  11. agilicus/agilicus_api/model/list_public_file_org_links_response.py +307 -0
  12. agilicus/agilicus_api/model/public_file_org_link.py +295 -0
  13. agilicus/agilicus_api/model/public_file_org_link_spec.py +303 -0
  14. agilicus/agilicus_api/models/__init__.py +3 -0
  15. agilicus/agilicus_api/test/test_files_api.py +35 -0
  16. agilicus/agilicus_api/test/test_list_public_file_org_links_response.py +38 -0
  17. agilicus/agilicus_api/test/test_public_file_org_link.py +40 -0
  18. agilicus/agilicus_api/test/test_public_file_org_link_spec.py +36 -0
  19. agilicus/agilicus_api_README.md +9 -1
  20. agilicus/files_pkg/files_main.py +50 -0
  21. agilicus/files_pkg/public_file_org_links.py +60 -0
  22. agilicus/main.py +2 -0
  23. {agilicus-1.236.6.dist-info → agilicus-1.237.1.dist-info}/METADATA +2 -2
  24. {agilicus-1.236.6.dist-info → agilicus-1.237.1.dist-info}/RECORD +27 -16
  25. {agilicus-1.236.6.dist-info → agilicus-1.237.1.dist-info}/LICENSE.txt +0 -0
  26. {agilicus-1.236.6.dist-info → agilicus-1.237.1.dist-info}/WHEEL +0 -0
  27. {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()
@@ -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.236.6
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])