agilicus 1.256.8__py3-none-any.whl → 1.256.9__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/billing_api.py +146 -0
- agilicus/agilicus_api/api/billing_api_mock.py +7 -0
- agilicus/agilicus_api/api/organisations_api.py +130 -0
- agilicus/agilicus_api/api/organisations_api_mock.py +7 -0
- agilicus/agilicus_api/api_client.py +1 -1
- agilicus/agilicus_api/configuration.py +1 -1
- agilicus/agilicus_api/docs/BillingApi.md +92 -0
- agilicus/agilicus_api/docs/BillingCheckoutSession.md +14 -0
- agilicus/agilicus_api/docs/CreateBillingCheckoutSession.md +16 -0
- agilicus/agilicus_api/docs/ListBillingCheckoutSessions.md +14 -0
- agilicus/agilicus_api/docs/OrganisationsApi.md +94 -0
- agilicus/agilicus_api/model/billing_checkout_session.py +284 -0
- agilicus/agilicus_api/model/create_billing_checkout_session.py +305 -0
- agilicus/agilicus_api/model/list_billing_checkout_sessions.py +287 -0
- agilicus/agilicus_api/models/__init__.py +3 -0
- agilicus/agilicus_api/test/test_billing_api.py +7 -0
- agilicus/agilicus_api/test/test_billing_checkout_session.py +36 -0
- agilicus/agilicus_api/test/test_create_billing_checkout_session.py +36 -0
- agilicus/agilicus_api/test/test_list_billing_checkout_sessions.py +38 -0
- agilicus/agilicus_api/test/test_organisations_api.py +7 -0
- agilicus/agilicus_api_README.md +6 -1
- agilicus/billing.py +28 -0
- agilicus/main.py +21 -0
- {agilicus-1.256.8.dist-info → agilicus-1.256.9.dist-info}/METADATA +1 -1
- {agilicus-1.256.8.dist-info → agilicus-1.256.9.dist-info}/RECORD +30 -21
- {agilicus-1.256.8.dist-info → agilicus-1.256.9.dist-info}/LICENSE.txt +0 -0
- {agilicus-1.256.8.dist-info → agilicus-1.256.9.dist-info}/WHEEL +0 -0
- {agilicus-1.256.8.dist-info → agilicus-1.256.9.dist-info}/entry_points.txt +0 -0
@@ -0,0 +1,305 @@
|
|
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.05.09
|
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 CreateBillingCheckoutSession(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 ui_mode(self):
|
66
|
+
return self.get("ui_mode")
|
67
|
+
|
68
|
+
@ui_mode.setter
|
69
|
+
def ui_mode(self, new_value):
|
70
|
+
self.ui_mode = new_value
|
71
|
+
|
72
|
+
@property
|
73
|
+
def return_url(self):
|
74
|
+
return self.get("return_url")
|
75
|
+
|
76
|
+
@return_url.setter
|
77
|
+
def return_url(self, new_value):
|
78
|
+
self.return_url = new_value
|
79
|
+
|
80
|
+
@property
|
81
|
+
def success_url(self):
|
82
|
+
return self.get("success_url")
|
83
|
+
|
84
|
+
@success_url.setter
|
85
|
+
def success_url(self, new_value):
|
86
|
+
self.success_url = new_value
|
87
|
+
|
88
|
+
@property
|
89
|
+
def custom_text(self):
|
90
|
+
return self.get("custom_text")
|
91
|
+
|
92
|
+
@custom_text.setter
|
93
|
+
def custom_text(self, new_value):
|
94
|
+
self.custom_text = new_value
|
95
|
+
|
96
|
+
@cached_property
|
97
|
+
def additional_properties_type():
|
98
|
+
"""
|
99
|
+
This must be a method because a model may have properties that are
|
100
|
+
of type self, this must run after the class is loaded
|
101
|
+
"""
|
102
|
+
return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
|
103
|
+
|
104
|
+
_nullable = False
|
105
|
+
|
106
|
+
@cached_property
|
107
|
+
def openapi_types():
|
108
|
+
"""
|
109
|
+
This must be a method because a model may have properties that are
|
110
|
+
of type self, this must run after the class is loaded
|
111
|
+
|
112
|
+
Returns
|
113
|
+
openapi_types (dict): The key is attribute name
|
114
|
+
and the value is attribute type.
|
115
|
+
"""
|
116
|
+
return {
|
117
|
+
'ui_mode': (str,), # noqa: E501
|
118
|
+
'return_url': (str,), # noqa: E501
|
119
|
+
'success_url': (str,), # noqa: E501
|
120
|
+
'custom_text': (str,), # noqa: E501
|
121
|
+
}
|
122
|
+
|
123
|
+
@cached_property
|
124
|
+
def discriminator():
|
125
|
+
return None
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
attribute_map = {
|
130
|
+
'ui_mode': 'ui_mode', # noqa: E501
|
131
|
+
'return_url': 'return_url', # noqa: E501
|
132
|
+
'success_url': 'success_url', # noqa: E501
|
133
|
+
'custom_text': 'custom_text', # noqa: E501
|
134
|
+
}
|
135
|
+
|
136
|
+
read_only_vars = {
|
137
|
+
}
|
138
|
+
|
139
|
+
_composed_schemas = {}
|
140
|
+
|
141
|
+
@classmethod
|
142
|
+
@convert_js_args_to_python_args
|
143
|
+
def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
|
144
|
+
"""CreateBillingCheckoutSession - a model defined in OpenAPI
|
145
|
+
|
146
|
+
Keyword Args:
|
147
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
148
|
+
will be type checked and a TypeError will be
|
149
|
+
raised if the wrong type is input.
|
150
|
+
Defaults to True
|
151
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
152
|
+
drill down to the model in received_data
|
153
|
+
when deserializing a response
|
154
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
155
|
+
are serialized names, as specified in the OpenAPI document.
|
156
|
+
False if the variable names in the input data
|
157
|
+
are pythonic names, e.g. snake case (default)
|
158
|
+
_configuration (Configuration): the instance to use when
|
159
|
+
deserializing a file_type parameter.
|
160
|
+
If passed, type conversion is attempted
|
161
|
+
If omitted no type conversion is done.
|
162
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
163
|
+
classes that we have traveled through so that
|
164
|
+
if we see that class again we will not use its
|
165
|
+
discriminator again.
|
166
|
+
When traveling through a discriminator, the
|
167
|
+
composed schema that is
|
168
|
+
is traveled through is added to this set.
|
169
|
+
For example if Animal has a discriminator
|
170
|
+
petType and we pass in "Dog", and the class Dog
|
171
|
+
allOf includes Animal, we move through Animal
|
172
|
+
once using the discriminator, and pick Dog.
|
173
|
+
Then in Dog, we will make an instance of the
|
174
|
+
Animal class but this time we won't travel
|
175
|
+
through its discriminator because we passed in
|
176
|
+
_visited_composed_classes = (Animal,)
|
177
|
+
ui_mode (str): The ui_mode. When ommited, defaults to embedded.. [optional] # noqa: E501
|
178
|
+
return_url (str): The return url.. [optional] # noqa: E501
|
179
|
+
success_url (str): The success_url.. [optional] # noqa: E501
|
180
|
+
custom_text (str): custom text. [optional] # noqa: E501
|
181
|
+
"""
|
182
|
+
|
183
|
+
_check_type = kwargs.pop('_check_type', True)
|
184
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
185
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
186
|
+
_configuration = kwargs.pop('_configuration', None)
|
187
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
188
|
+
|
189
|
+
self = super(OpenApiModel, cls).__new__(cls)
|
190
|
+
|
191
|
+
if args:
|
192
|
+
raise ApiTypeError(
|
193
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
194
|
+
args,
|
195
|
+
self.__class__.__name__,
|
196
|
+
),
|
197
|
+
path_to_item=_path_to_item,
|
198
|
+
valid_classes=(self.__class__,),
|
199
|
+
)
|
200
|
+
|
201
|
+
self._data_store = {}
|
202
|
+
self._check_type = _check_type
|
203
|
+
self._spec_property_naming = _spec_property_naming
|
204
|
+
self._path_to_item = _path_to_item
|
205
|
+
self._configuration = _configuration
|
206
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
207
|
+
|
208
|
+
for var_name, var_value in kwargs.items():
|
209
|
+
if var_name not in self.attribute_map and \
|
210
|
+
self._configuration is not None and \
|
211
|
+
self._configuration.discard_unknown_keys and \
|
212
|
+
self.additional_properties_type is None:
|
213
|
+
# discard variable.
|
214
|
+
continue
|
215
|
+
setattr(self, var_name, var_value)
|
216
|
+
return self
|
217
|
+
|
218
|
+
def __python_set(val):
|
219
|
+
return set(val)
|
220
|
+
|
221
|
+
required_properties = __python_set([
|
222
|
+
'_data_store',
|
223
|
+
'_check_type',
|
224
|
+
'_spec_property_naming',
|
225
|
+
'_path_to_item',
|
226
|
+
'_configuration',
|
227
|
+
'_visited_composed_classes',
|
228
|
+
])
|
229
|
+
|
230
|
+
@convert_js_args_to_python_args
|
231
|
+
def __init__(self, *args, **kwargs): # noqa: E501
|
232
|
+
"""CreateBillingCheckoutSession - a model defined in OpenAPI
|
233
|
+
|
234
|
+
Keyword Args:
|
235
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
236
|
+
will be type checked and a TypeError will be
|
237
|
+
raised if the wrong type is input.
|
238
|
+
Defaults to True
|
239
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
240
|
+
drill down to the model in received_data
|
241
|
+
when deserializing a response
|
242
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
243
|
+
are serialized names, as specified in the OpenAPI document.
|
244
|
+
False if the variable names in the input data
|
245
|
+
are pythonic names, e.g. snake case (default)
|
246
|
+
_configuration (Configuration): the instance to use when
|
247
|
+
deserializing a file_type parameter.
|
248
|
+
If passed, type conversion is attempted
|
249
|
+
If omitted no type conversion is done.
|
250
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
251
|
+
classes that we have traveled through so that
|
252
|
+
if we see that class again we will not use its
|
253
|
+
discriminator again.
|
254
|
+
When traveling through a discriminator, the
|
255
|
+
composed schema that is
|
256
|
+
is traveled through is added to this set.
|
257
|
+
For example if Animal has a discriminator
|
258
|
+
petType and we pass in "Dog", and the class Dog
|
259
|
+
allOf includes Animal, we move through Animal
|
260
|
+
once using the discriminator, and pick Dog.
|
261
|
+
Then in Dog, we will make an instance of the
|
262
|
+
Animal class but this time we won't travel
|
263
|
+
through its discriminator because we passed in
|
264
|
+
_visited_composed_classes = (Animal,)
|
265
|
+
ui_mode (str): The ui_mode. When ommited, defaults to embedded.. [optional] # noqa: E501
|
266
|
+
return_url (str): The return url.. [optional] # noqa: E501
|
267
|
+
success_url (str): The success_url.. [optional] # noqa: E501
|
268
|
+
custom_text (str): custom text. [optional] # noqa: E501
|
269
|
+
"""
|
270
|
+
|
271
|
+
_check_type = kwargs.pop('_check_type', True)
|
272
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
273
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
274
|
+
_configuration = kwargs.pop('_configuration', None)
|
275
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
276
|
+
|
277
|
+
if args:
|
278
|
+
raise ApiTypeError(
|
279
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
280
|
+
args,
|
281
|
+
self.__class__.__name__,
|
282
|
+
),
|
283
|
+
path_to_item=_path_to_item,
|
284
|
+
valid_classes=(self.__class__,),
|
285
|
+
)
|
286
|
+
|
287
|
+
self._data_store = {}
|
288
|
+
self._check_type = _check_type
|
289
|
+
self._spec_property_naming = _spec_property_naming
|
290
|
+
self._path_to_item = _path_to_item
|
291
|
+
self._configuration = _configuration
|
292
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
293
|
+
|
294
|
+
for var_name, var_value in kwargs.items():
|
295
|
+
if var_name not in self.attribute_map and \
|
296
|
+
self._configuration is not None and \
|
297
|
+
self._configuration.discard_unknown_keys and \
|
298
|
+
self.additional_properties_type is None:
|
299
|
+
# discard variable.
|
300
|
+
continue
|
301
|
+
setattr(self, var_name, var_value)
|
302
|
+
if var_name in self.read_only_vars:
|
303
|
+
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
|
304
|
+
f"class with read only attributes.")
|
305
|
+
|
@@ -0,0 +1,287 @@
|
|
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.05.09
|
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
|
+
def lazy_import():
|
34
|
+
from agilicus_api.model.billing_checkout_session import BillingCheckoutSession
|
35
|
+
globals()['BillingCheckoutSession'] = BillingCheckoutSession
|
36
|
+
|
37
|
+
|
38
|
+
class ListBillingCheckoutSessions(ModelNormal):
|
39
|
+
"""NOTE: This class is auto generated by OpenAPI Generator.
|
40
|
+
Ref: https://openapi-generator.tech
|
41
|
+
|
42
|
+
Do not edit the class manually.
|
43
|
+
|
44
|
+
Attributes:
|
45
|
+
allowed_values (dict): The key is the tuple path to the attribute
|
46
|
+
and the for var_name this is (var_name,). The value is a dict
|
47
|
+
with a capitalized key describing the allowed value and an allowed
|
48
|
+
value. These dicts store the allowed enum values.
|
49
|
+
attribute_map (dict): The key is attribute name
|
50
|
+
and the value is json key in definition.
|
51
|
+
discriminator_value_class_map (dict): A dict to go from the discriminator
|
52
|
+
variable value to the discriminator class name.
|
53
|
+
validations (dict): The key is the tuple path to the attribute
|
54
|
+
and the for var_name this is (var_name,). The value is a dict
|
55
|
+
that stores validations for max_length, min_length, max_items,
|
56
|
+
min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
|
57
|
+
inclusive_minimum, and regex.
|
58
|
+
additional_properties_type (tuple): A tuple of classes accepted
|
59
|
+
as additional properties values.
|
60
|
+
"""
|
61
|
+
|
62
|
+
allowed_values = {
|
63
|
+
}
|
64
|
+
|
65
|
+
validations = {
|
66
|
+
}
|
67
|
+
|
68
|
+
@property
|
69
|
+
def has_more(self):
|
70
|
+
return self.get("has_more")
|
71
|
+
|
72
|
+
@has_more.setter
|
73
|
+
def has_more(self, new_value):
|
74
|
+
self.has_more = new_value
|
75
|
+
|
76
|
+
@property
|
77
|
+
def data(self):
|
78
|
+
return self.get("data")
|
79
|
+
|
80
|
+
@data.setter
|
81
|
+
def data(self, new_value):
|
82
|
+
self.data = new_value
|
83
|
+
|
84
|
+
@cached_property
|
85
|
+
def additional_properties_type():
|
86
|
+
"""
|
87
|
+
This must be a method because a model may have properties that are
|
88
|
+
of type self, this must run after the class is loaded
|
89
|
+
"""
|
90
|
+
lazy_import()
|
91
|
+
return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
|
92
|
+
|
93
|
+
_nullable = False
|
94
|
+
|
95
|
+
@cached_property
|
96
|
+
def openapi_types():
|
97
|
+
"""
|
98
|
+
This must be a method because a model may have properties that are
|
99
|
+
of type self, this must run after the class is loaded
|
100
|
+
|
101
|
+
Returns
|
102
|
+
openapi_types (dict): The key is attribute name
|
103
|
+
and the value is attribute type.
|
104
|
+
"""
|
105
|
+
lazy_import()
|
106
|
+
return {
|
107
|
+
'has_more': (bool,), # noqa: E501
|
108
|
+
'data': ([BillingCheckoutSession],), # noqa: E501
|
109
|
+
}
|
110
|
+
|
111
|
+
@cached_property
|
112
|
+
def discriminator():
|
113
|
+
return None
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
attribute_map = {
|
118
|
+
'has_more': 'has_more', # noqa: E501
|
119
|
+
'data': 'data', # noqa: E501
|
120
|
+
}
|
121
|
+
|
122
|
+
read_only_vars = {
|
123
|
+
}
|
124
|
+
|
125
|
+
_composed_schemas = {}
|
126
|
+
|
127
|
+
@classmethod
|
128
|
+
@convert_js_args_to_python_args
|
129
|
+
def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
|
130
|
+
"""ListBillingCheckoutSessions - a model defined in OpenAPI
|
131
|
+
|
132
|
+
Keyword Args:
|
133
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
134
|
+
will be type checked and a TypeError will be
|
135
|
+
raised if the wrong type is input.
|
136
|
+
Defaults to True
|
137
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
138
|
+
drill down to the model in received_data
|
139
|
+
when deserializing a response
|
140
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
141
|
+
are serialized names, as specified in the OpenAPI document.
|
142
|
+
False if the variable names in the input data
|
143
|
+
are pythonic names, e.g. snake case (default)
|
144
|
+
_configuration (Configuration): the instance to use when
|
145
|
+
deserializing a file_type parameter.
|
146
|
+
If passed, type conversion is attempted
|
147
|
+
If omitted no type conversion is done.
|
148
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
149
|
+
classes that we have traveled through so that
|
150
|
+
if we see that class again we will not use its
|
151
|
+
discriminator again.
|
152
|
+
When traveling through a discriminator, the
|
153
|
+
composed schema that is
|
154
|
+
is traveled through is added to this set.
|
155
|
+
For example if Animal has a discriminator
|
156
|
+
petType and we pass in "Dog", and the class Dog
|
157
|
+
allOf includes Animal, we move through Animal
|
158
|
+
once using the discriminator, and pick Dog.
|
159
|
+
Then in Dog, we will make an instance of the
|
160
|
+
Animal class but this time we won't travel
|
161
|
+
through its discriminator because we passed in
|
162
|
+
_visited_composed_classes = (Animal,)
|
163
|
+
has_more (bool): Whether or not there are more elements available after this set. If false, this set comprises the end of the list. . [optional] # noqa: E501
|
164
|
+
data ([BillingCheckoutSession]): A list of checkout sessions. . [optional] # noqa: E501
|
165
|
+
"""
|
166
|
+
|
167
|
+
_check_type = kwargs.pop('_check_type', True)
|
168
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
169
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
170
|
+
_configuration = kwargs.pop('_configuration', None)
|
171
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
172
|
+
|
173
|
+
self = super(OpenApiModel, cls).__new__(cls)
|
174
|
+
|
175
|
+
if args:
|
176
|
+
raise ApiTypeError(
|
177
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
178
|
+
args,
|
179
|
+
self.__class__.__name__,
|
180
|
+
),
|
181
|
+
path_to_item=_path_to_item,
|
182
|
+
valid_classes=(self.__class__,),
|
183
|
+
)
|
184
|
+
|
185
|
+
self._data_store = {}
|
186
|
+
self._check_type = _check_type
|
187
|
+
self._spec_property_naming = _spec_property_naming
|
188
|
+
self._path_to_item = _path_to_item
|
189
|
+
self._configuration = _configuration
|
190
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
191
|
+
|
192
|
+
for var_name, var_value in kwargs.items():
|
193
|
+
if var_name not in self.attribute_map and \
|
194
|
+
self._configuration is not None and \
|
195
|
+
self._configuration.discard_unknown_keys and \
|
196
|
+
self.additional_properties_type is None:
|
197
|
+
# discard variable.
|
198
|
+
continue
|
199
|
+
setattr(self, var_name, var_value)
|
200
|
+
return self
|
201
|
+
|
202
|
+
def __python_set(val):
|
203
|
+
return set(val)
|
204
|
+
|
205
|
+
required_properties = __python_set([
|
206
|
+
'_data_store',
|
207
|
+
'_check_type',
|
208
|
+
'_spec_property_naming',
|
209
|
+
'_path_to_item',
|
210
|
+
'_configuration',
|
211
|
+
'_visited_composed_classes',
|
212
|
+
])
|
213
|
+
|
214
|
+
@convert_js_args_to_python_args
|
215
|
+
def __init__(self, *args, **kwargs): # noqa: E501
|
216
|
+
"""ListBillingCheckoutSessions - a model defined in OpenAPI
|
217
|
+
|
218
|
+
Keyword Args:
|
219
|
+
_check_type (bool): if True, values for parameters in openapi_types
|
220
|
+
will be type checked and a TypeError will be
|
221
|
+
raised if the wrong type is input.
|
222
|
+
Defaults to True
|
223
|
+
_path_to_item (tuple/list): This is a list of keys or values to
|
224
|
+
drill down to the model in received_data
|
225
|
+
when deserializing a response
|
226
|
+
_spec_property_naming (bool): True if the variable names in the input data
|
227
|
+
are serialized names, as specified in the OpenAPI document.
|
228
|
+
False if the variable names in the input data
|
229
|
+
are pythonic names, e.g. snake case (default)
|
230
|
+
_configuration (Configuration): the instance to use when
|
231
|
+
deserializing a file_type parameter.
|
232
|
+
If passed, type conversion is attempted
|
233
|
+
If omitted no type conversion is done.
|
234
|
+
_visited_composed_classes (tuple): This stores a tuple of
|
235
|
+
classes that we have traveled through so that
|
236
|
+
if we see that class again we will not use its
|
237
|
+
discriminator again.
|
238
|
+
When traveling through a discriminator, the
|
239
|
+
composed schema that is
|
240
|
+
is traveled through is added to this set.
|
241
|
+
For example if Animal has a discriminator
|
242
|
+
petType and we pass in "Dog", and the class Dog
|
243
|
+
allOf includes Animal, we move through Animal
|
244
|
+
once using the discriminator, and pick Dog.
|
245
|
+
Then in Dog, we will make an instance of the
|
246
|
+
Animal class but this time we won't travel
|
247
|
+
through its discriminator because we passed in
|
248
|
+
_visited_composed_classes = (Animal,)
|
249
|
+
has_more (bool): Whether or not there are more elements available after this set. If false, this set comprises the end of the list. . [optional] # noqa: E501
|
250
|
+
data ([BillingCheckoutSession]): A list of checkout sessions. . [optional] # noqa: E501
|
251
|
+
"""
|
252
|
+
|
253
|
+
_check_type = kwargs.pop('_check_type', True)
|
254
|
+
_spec_property_naming = kwargs.pop('_spec_property_naming', False)
|
255
|
+
_path_to_item = kwargs.pop('_path_to_item', ())
|
256
|
+
_configuration = kwargs.pop('_configuration', None)
|
257
|
+
_visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
|
258
|
+
|
259
|
+
if args:
|
260
|
+
raise ApiTypeError(
|
261
|
+
"Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
|
262
|
+
args,
|
263
|
+
self.__class__.__name__,
|
264
|
+
),
|
265
|
+
path_to_item=_path_to_item,
|
266
|
+
valid_classes=(self.__class__,),
|
267
|
+
)
|
268
|
+
|
269
|
+
self._data_store = {}
|
270
|
+
self._check_type = _check_type
|
271
|
+
self._spec_property_naming = _spec_property_naming
|
272
|
+
self._path_to_item = _path_to_item
|
273
|
+
self._configuration = _configuration
|
274
|
+
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
|
275
|
+
|
276
|
+
for var_name, var_value in kwargs.items():
|
277
|
+
if var_name not in self.attribute_map and \
|
278
|
+
self._configuration is not None and \
|
279
|
+
self._configuration.discard_unknown_keys and \
|
280
|
+
self.additional_properties_type is None:
|
281
|
+
# discard variable.
|
282
|
+
continue
|
283
|
+
setattr(self, var_name, var_value)
|
284
|
+
if var_name in self.read_only_vars:
|
285
|
+
raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
|
286
|
+
f"class with read only attributes.")
|
287
|
+
|
@@ -116,6 +116,7 @@ from agilicus_api.model.billing_account import BillingAccount
|
|
116
116
|
from agilicus_api.model.billing_account_spec import BillingAccountSpec
|
117
117
|
from agilicus_api.model.billing_account_status import BillingAccountStatus
|
118
118
|
from agilicus_api.model.billing_balance_transaction import BillingBalanceTransaction
|
119
|
+
from agilicus_api.model.billing_checkout_session import BillingCheckoutSession
|
119
120
|
from agilicus_api.model.billing_customer import BillingCustomer
|
120
121
|
from agilicus_api.model.billing_org import BillingOrg
|
121
122
|
from agilicus_api.model.billing_org_subscription import BillingOrgSubscription
|
@@ -190,6 +191,7 @@ from agilicus_api.model.connector_status import ConnectorStatus
|
|
190
191
|
from agilicus_api.model.connector_system_stats import ConnectorSystemStats
|
191
192
|
from agilicus_api.model.connector_upstream_stats_publish import ConnectorUpstreamStatsPublish
|
192
193
|
from agilicus_api.model.content_type_options_settings import ContentTypeOptionsSettings
|
194
|
+
from agilicus_api.model.create_billing_checkout_session import CreateBillingCheckoutSession
|
193
195
|
from agilicus_api.model.create_billing_usage_records import CreateBillingUsageRecords
|
194
196
|
from agilicus_api.model.create_session_and_token_request import CreateSessionAndTokenRequest
|
195
197
|
from agilicus_api.model.create_session_and_token_response import CreateSessionAndTokenResponse
|
@@ -352,6 +354,7 @@ from agilicus_api.model.list_auth_audits_response import ListAuthAuditsResponse
|
|
352
354
|
from agilicus_api.model.list_authentication_document_response import ListAuthenticationDocumentResponse
|
353
355
|
from agilicus_api.model.list_billing_accounts_response import ListBillingAccountsResponse
|
354
356
|
from agilicus_api.model.list_billing_balance_transactions import ListBillingBalanceTransactions
|
357
|
+
from agilicus_api.model.list_billing_checkout_sessions import ListBillingCheckoutSessions
|
355
358
|
from agilicus_api.model.list_billing_org_subscriptions_response import ListBillingOrgSubscriptionsResponse
|
356
359
|
from agilicus_api.model.list_billing_usage_records_response import ListBillingUsageRecordsResponse
|
357
360
|
from agilicus_api.model.list_catalogue_entries_response import ListCatalogueEntriesResponse
|
@@ -185,6 +185,13 @@ class TestBillingApi(unittest.TestCase):
|
|
185
185
|
"""
|
186
186
|
pass
|
187
187
|
|
188
|
+
def test_list_checkout_sessions(self):
|
189
|
+
"""Test case for list_checkout_sessions
|
190
|
+
|
191
|
+
list checkout sessions # noqa: E501
|
192
|
+
"""
|
193
|
+
pass
|
194
|
+
|
188
195
|
def test_list_features(self):
|
189
196
|
"""Test case for list_features
|
190
197
|
|
@@ -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.05.09
|
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.billing_checkout_session import BillingCheckoutSession
|
17
|
+
|
18
|
+
|
19
|
+
class TestBillingCheckoutSession(unittest.TestCase):
|
20
|
+
"""BillingCheckoutSession unit test stubs"""
|
21
|
+
|
22
|
+
def setUp(self):
|
23
|
+
pass
|
24
|
+
|
25
|
+
def tearDown(self):
|
26
|
+
pass
|
27
|
+
|
28
|
+
def testBillingCheckoutSession(self):
|
29
|
+
"""Test BillingCheckoutSession"""
|
30
|
+
# FIXME: construct object with mandatory attributes with example values
|
31
|
+
# model = BillingCheckoutSession() # noqa: E501
|
32
|
+
pass
|
33
|
+
|
34
|
+
|
35
|
+
if __name__ == '__main__':
|
36
|
+
unittest.main()
|