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.
Files changed (30) hide show
  1. agilicus/.openapi-generator/FILES +9 -0
  2. agilicus/agilicus_api/__init__.py +3 -0
  3. agilicus/agilicus_api/api/billing_api.py +146 -0
  4. agilicus/agilicus_api/api/billing_api_mock.py +7 -0
  5. agilicus/agilicus_api/api/organisations_api.py +130 -0
  6. agilicus/agilicus_api/api/organisations_api_mock.py +7 -0
  7. agilicus/agilicus_api/api_client.py +1 -1
  8. agilicus/agilicus_api/configuration.py +1 -1
  9. agilicus/agilicus_api/docs/BillingApi.md +92 -0
  10. agilicus/agilicus_api/docs/BillingCheckoutSession.md +14 -0
  11. agilicus/agilicus_api/docs/CreateBillingCheckoutSession.md +16 -0
  12. agilicus/agilicus_api/docs/ListBillingCheckoutSessions.md +14 -0
  13. agilicus/agilicus_api/docs/OrganisationsApi.md +94 -0
  14. agilicus/agilicus_api/model/billing_checkout_session.py +284 -0
  15. agilicus/agilicus_api/model/create_billing_checkout_session.py +305 -0
  16. agilicus/agilicus_api/model/list_billing_checkout_sessions.py +287 -0
  17. agilicus/agilicus_api/models/__init__.py +3 -0
  18. agilicus/agilicus_api/test/test_billing_api.py +7 -0
  19. agilicus/agilicus_api/test/test_billing_checkout_session.py +36 -0
  20. agilicus/agilicus_api/test/test_create_billing_checkout_session.py +36 -0
  21. agilicus/agilicus_api/test/test_list_billing_checkout_sessions.py +38 -0
  22. agilicus/agilicus_api/test/test_organisations_api.py +7 -0
  23. agilicus/agilicus_api_README.md +6 -1
  24. agilicus/billing.py +28 -0
  25. agilicus/main.py +21 -0
  26. {agilicus-1.256.8.dist-info → agilicus-1.256.9.dist-info}/METADATA +1 -1
  27. {agilicus-1.256.8.dist-info → agilicus-1.256.9.dist-info}/RECORD +30 -21
  28. {agilicus-1.256.8.dist-info → agilicus-1.256.9.dist-info}/LICENSE.txt +0 -0
  29. {agilicus-1.256.8.dist-info → agilicus-1.256.9.dist-info}/WHEEL +0 -0
  30. {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()