criteo-api-retailmedia-sdk 0.0.240626__py3-none-any.whl → 0.0.240808__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of criteo-api-retailmedia-sdk might be problematic. Click here for more details.

Files changed (81) hide show
  1. criteo_api_retailmedia_preview/__init__.py +1 -1
  2. criteo_api_retailmedia_preview/api/accounts_api.py +50 -343
  3. criteo_api_retailmedia_preview/api/audience_api.py +835 -58
  4. criteo_api_retailmedia_preview/api/balance_api.py +1134 -0
  5. criteo_api_retailmedia_preview/api/campaign_api.py +175 -168
  6. criteo_api_retailmedia_preview/api_client.py +4 -4
  7. criteo_api_retailmedia_preview/apis/__init__.py +1 -0
  8. criteo_api_retailmedia_preview/configuration.py +1 -1
  9. criteo_api_retailmedia_preview/model/add_funds_to_balance_v2.py +277 -0
  10. criteo_api_retailmedia_preview/model/{value_resource_input_of_retail_media_brand_account_creation.py → add_funds_to_balance_v2_request.py} +16 -9
  11. criteo_api_retailmedia_preview/model/application_summary_model_response.py +0 -4
  12. criteo_api_retailmedia_preview/model/async_accounts_report.py +2 -0
  13. criteo_api_retailmedia_preview/model/async_campaigns_report.py +2 -0
  14. criteo_api_retailmedia_preview/model/async_line_items_report.py +2 -0
  15. criteo_api_retailmedia_preview/model/{insertion_order_history_change_data_capture.py → balance_history_change_data_capture_v1.py} +11 -11
  16. criteo_api_retailmedia_preview/model/balance_response_v2.py +351 -0
  17. criteo_api_retailmedia_preview/model/balance_response_v2_response.py +281 -0
  18. criteo_api_retailmedia_preview/model/change_dates_of_balance_v2.py +271 -0
  19. criteo_api_retailmedia_preview/model/change_dates_of_balance_v2_request.py +269 -0
  20. criteo_api_retailmedia_preview/model/{change_details.py → change_details_v1.py} +3 -3
  21. criteo_api_retailmedia_preview/model/change_details_v2.py +275 -0
  22. criteo_api_retailmedia_preview/model/common_problem.py +2 -2
  23. criteo_api_retailmedia_preview/model/create_balance_v2.py +302 -0
  24. criteo_api_retailmedia_preview/model/{value_resource_input_of_retail_media_brands.py → create_balance_v2_request.py} +16 -9
  25. criteo_api_retailmedia_preview/model/external_catalog_status.py +312 -0
  26. criteo_api_retailmedia_preview/model/insertion_order_history_change_data_capture_v2.py +303 -0
  27. criteo_api_retailmedia_preview/model/json_api_body_with_id_of_int64_and_catalog_status_and_catalog_status.py +285 -0
  28. criteo_api_retailmedia_preview/model/json_api_body_without_id_of_seller_catalog_request_and_seller_catalog_request.py +279 -0
  29. criteo_api_retailmedia_preview/model/json_api_page_response_of_account.py +8 -6
  30. criteo_api_retailmedia_preview/model/json_api_page_response_of_brand.py +8 -6
  31. criteo_api_retailmedia_preview/model/json_api_page_response_of_retailer.py +8 -6
  32. criteo_api_retailmedia_preview/model/json_api_request_of_seller_catalog_request.py +269 -0
  33. criteo_api_retailmedia_preview/model/json_api_single_response_of_catalog_status.py +287 -0
  34. criteo_api_retailmedia_preview/model/{retail_media_brands.py → nillable_string.py} +14 -8
  35. criteo_api_retailmedia_preview/model/page_of_balance_history_change_data_capture_v1.py +276 -0
  36. criteo_api_retailmedia_preview/model/{page_of_insertion_order_history_change_data_capture.py → page_of_insertion_order_history_change_data_capture_v2.py} +8 -8
  37. criteo_api_retailmedia_preview/model/paged_resource_collection_outcome_of_balance_response_v2.py +287 -0
  38. criteo_api_retailmedia_preview/model/promoted_product_resource_collection_outcome.py +6 -4
  39. criteo_api_retailmedia_preview/model/resource_of_add_funds_to_balance_v2.py +277 -0
  40. criteo_api_retailmedia_preview/model/resource_of_balance_response_v2.py +277 -0
  41. criteo_api_retailmedia_preview/model/resource_of_change_dates_of_balance_v2.py +277 -0
  42. criteo_api_retailmedia_preview/model/resource_of_create_balance_v2.py +277 -0
  43. criteo_api_retailmedia_preview/model/resource_of_update_balance_model_v2.py +277 -0
  44. criteo_api_retailmedia_preview/model/retail_media_contactlist_amendment_attributes.py +6 -6
  45. criteo_api_retailmedia_preview/model/rm_audience_segment_bulk_create_input_v1.py +269 -0
  46. criteo_api_retailmedia_preview/model/rm_audience_segment_bulk_delete_input_v1.py +269 -0
  47. criteo_api_retailmedia_preview/model/rm_audience_segment_bulk_update_input_v1.py +269 -0
  48. criteo_api_retailmedia_preview/model/rm_audience_segment_create_entity_v1.py +281 -0
  49. criteo_api_retailmedia_preview/model/{value_resource_of_retail_media_brand_account_creation.py → rm_audience_segment_create_entity_v1_resource.py} +16 -9
  50. criteo_api_retailmedia_preview/model/rm_audience_segment_delete_entity_v1_resource.py +271 -0
  51. criteo_api_retailmedia_preview/model/rm_audience_segment_entity_v1.py +323 -0
  52. criteo_api_retailmedia_preview/model/rm_audience_segment_entity_v1_list_response.py +281 -0
  53. criteo_api_retailmedia_preview/model/rm_audience_segment_entity_v1_resource.py +277 -0
  54. criteo_api_retailmedia_preview/model/rm_audience_segment_entity_v1_rm_audience_segment_search_metadata_v1_list_response.py +287 -0
  55. criteo_api_retailmedia_preview/model/rm_audience_segment_id_entity_v1_list_response.py +281 -0
  56. criteo_api_retailmedia_preview/model/rm_audience_segment_id_entity_v1_resource.py +271 -0
  57. criteo_api_retailmedia_preview/model/rm_audience_segment_search_entity_v1.py +277 -0
  58. criteo_api_retailmedia_preview/model/rm_audience_segment_search_entity_v1_resource.py +273 -0
  59. criteo_api_retailmedia_preview/model/rm_audience_segment_search_input_v1.py +269 -0
  60. criteo_api_retailmedia_preview/model/{retail_media_brand_account_creation.py → rm_audience_segment_search_metadata_v1.py} +22 -16
  61. criteo_api_retailmedia_preview/model/rm_audience_segment_update_entity_v1.py +277 -0
  62. criteo_api_retailmedia_preview/model/rm_audience_segment_update_entity_v1_resource.py +277 -0
  63. criteo_api_retailmedia_preview/model/rm_contact_list_create_v1.py +270 -0
  64. criteo_api_retailmedia_preview/model/rm_contact_list_statistics_entity_v1.py +271 -0
  65. criteo_api_retailmedia_preview/model/rm_contact_list_statistics_entity_v1_resource.py +277 -0
  66. criteo_api_retailmedia_preview/model/rm_contact_list_statistics_entity_v1_response.py +281 -0
  67. criteo_api_retailmedia_preview/model/rm_contact_list_v1.py +286 -0
  68. criteo_api_retailmedia_preview/model/rm_user_behavior_v1.py +303 -0
  69. criteo_api_retailmedia_preview/model/seller_catalog_request.py +269 -0
  70. criteo_api_retailmedia_preview/model/seller_identifier.py +275 -0
  71. criteo_api_retailmedia_preview/model/sku_data_preview.py +8 -6
  72. criteo_api_retailmedia_preview/model/sku_slim_data_preview.py +8 -6
  73. criteo_api_retailmedia_preview/model/sync_campaigns_report.py +2 -0
  74. criteo_api_retailmedia_preview/model/sync_line_items_report.py +2 -0
  75. criteo_api_retailmedia_preview/model/update_balance_model_v2.py +279 -0
  76. criteo_api_retailmedia_preview/model/{value_resource_of_retail_media_brands.py → update_balance_model_v2_request.py} +17 -14
  77. criteo_api_retailmedia_preview/models/__init__.py +54 -9
  78. {criteo_api_retailmedia_sdk-0.0.240626.dist-info → criteo_api_retailmedia_sdk-0.0.240808.dist-info}/METADATA +3 -3
  79. {criteo_api_retailmedia_sdk-0.0.240626.dist-info → criteo_api_retailmedia_sdk-0.0.240808.dist-info}/RECORD +81 -35
  80. {criteo_api_retailmedia_sdk-0.0.240626.dist-info → criteo_api_retailmedia_sdk-0.0.240808.dist-info}/WHEEL +1 -1
  81. {criteo_api_retailmedia_sdk-0.0.240626.dist-info → criteo_api_retailmedia_sdk-0.0.240808.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,287 @@
1
+ """
2
+ Criteo API
3
+
4
+ Criteo API - RetailMedia # noqa: E501
5
+
6
+ The version of the OpenAPI document: Preview
7
+ Generated by: https://openapi-generator.tech
8
+ """
9
+
10
+
11
+ import re # noqa: F401
12
+ import sys # noqa: F401
13
+
14
+ from criteo_api_retailmedia_preview.model_utils import ( # noqa: F401
15
+ ApiTypeError,
16
+ ModelComposed,
17
+ ModelNormal,
18
+ ModelSimple,
19
+ cached_property,
20
+ change_keys_js_to_python,
21
+ convert_js_args_to_python_args,
22
+ date,
23
+ datetime,
24
+ file_type,
25
+ none_type,
26
+ validate_get_composed_info,
27
+ OpenApiModel
28
+ )
29
+ from criteo_api_retailmedia_preview.exceptions import ApiAttributeError
30
+
31
+
32
+ def lazy_import():
33
+ from criteo_api_retailmedia_preview.model.common_error import CommonError
34
+ from criteo_api_retailmedia_preview.model.common_warning import CommonWarning
35
+ from criteo_api_retailmedia_preview.model.json_api_body_with_id_of_int64_and_catalog_status_and_catalog_status import JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus
36
+ globals()['CommonError'] = CommonError
37
+ globals()['CommonWarning'] = CommonWarning
38
+ globals()['JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus'] = JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus
39
+
40
+
41
+ class JsonApiSingleResponseOfCatalogStatus(ModelNormal):
42
+ """NOTE: This class is auto generated by OpenAPI Generator.
43
+ Ref: https://openapi-generator.tech
44
+
45
+ Do not edit the class manually.
46
+
47
+ Attributes:
48
+ allowed_values (dict): The key is the tuple path to the attribute
49
+ and the for var_name this is (var_name,). The value is a dict
50
+ with a capitalized key describing the allowed value and an allowed
51
+ value. These dicts store the allowed enum values.
52
+ attribute_map (dict): The key is attribute name
53
+ and the value is json key in definition.
54
+ discriminator_value_class_map (dict): A dict to go from the discriminator
55
+ variable value to the discriminator class name.
56
+ validations (dict): The key is the tuple path to the attribute
57
+ and the for var_name this is (var_name,). The value is a dict
58
+ that stores validations for max_length, min_length, max_items,
59
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
60
+ inclusive_minimum, and regex.
61
+ additional_properties_type (tuple): A tuple of classes accepted
62
+ as additional properties values.
63
+ """
64
+
65
+ allowed_values = {
66
+ }
67
+
68
+ validations = {
69
+ }
70
+
71
+ @cached_property
72
+ def additional_properties_type():
73
+ """
74
+ This must be a method because a model may have properties that are
75
+ of type self, this must run after the class is loaded
76
+ """
77
+ lazy_import()
78
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
79
+
80
+ _nullable = False
81
+
82
+ @cached_property
83
+ def openapi_types():
84
+ """
85
+ This must be a method because a model may have properties that are
86
+ of type self, this must run after the class is loaded
87
+
88
+ Returns
89
+ openapi_types (dict): The key is attribute name
90
+ and the value is attribute type.
91
+ """
92
+ lazy_import()
93
+ return {
94
+ 'data': (JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus,), # noqa: E501
95
+ 'errors': ([CommonError],), # noqa: E501
96
+ 'warnings': ([CommonWarning],), # noqa: E501
97
+ }
98
+
99
+ @cached_property
100
+ def discriminator():
101
+ return None
102
+
103
+
104
+ attribute_map = {
105
+ 'data': 'data', # noqa: E501
106
+ 'errors': 'errors', # noqa: E501
107
+ 'warnings': 'warnings', # noqa: E501
108
+ }
109
+
110
+ read_only_vars = {
111
+ }
112
+
113
+ _composed_schemas = {}
114
+
115
+ @classmethod
116
+ @convert_js_args_to_python_args
117
+ def _from_openapi_data(cls, data, *args, **kwargs): # noqa: E501
118
+ """JsonApiSingleResponseOfCatalogStatus - a model defined in OpenAPI
119
+
120
+ Args:
121
+ data (JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus):
122
+
123
+ Keyword Args:
124
+ _check_type (bool): if True, values for parameters in openapi_types
125
+ will be type checked and a TypeError will be
126
+ raised if the wrong type is input.
127
+ Defaults to True
128
+ _path_to_item (tuple/list): This is a list of keys or values to
129
+ drill down to the model in received_data
130
+ when deserializing a response
131
+ _spec_property_naming (bool): True if the variable names in the input data
132
+ are serialized names, as specified in the OpenAPI document.
133
+ False if the variable names in the input data
134
+ are pythonic names, e.g. snake case (default)
135
+ _configuration (Configuration): the instance to use when
136
+ deserializing a file_type parameter.
137
+ If passed, type conversion is attempted
138
+ If omitted no type conversion is done.
139
+ _visited_composed_classes (tuple): This stores a tuple of
140
+ classes that we have traveled through so that
141
+ if we see that class again we will not use its
142
+ discriminator again.
143
+ When traveling through a discriminator, the
144
+ composed schema that is
145
+ is traveled through is added to this set.
146
+ For example if Animal has a discriminator
147
+ petType and we pass in "Dog", and the class Dog
148
+ allOf includes Animal, we move through Animal
149
+ once using the discriminator, and pick Dog.
150
+ Then in Dog, we will make an instance of the
151
+ Animal class but this time we won't travel
152
+ through its discriminator because we passed in
153
+ _visited_composed_classes = (Animal,)
154
+ errors ([CommonError]): [optional] # noqa: E501
155
+ warnings ([CommonWarning]): [optional] # noqa: E501
156
+ """
157
+
158
+ _check_type = kwargs.pop('_check_type', True)
159
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
160
+ _path_to_item = kwargs.pop('_path_to_item', ())
161
+ _configuration = kwargs.pop('_configuration', None)
162
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
163
+
164
+ self = super(OpenApiModel, cls).__new__(cls)
165
+
166
+ if args:
167
+ for arg in args:
168
+ if isinstance(arg, dict):
169
+ kwargs.update(arg)
170
+ else:
171
+ raise ApiTypeError(
172
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
173
+ args,
174
+ self.__class__.__name__,
175
+ ),
176
+ path_to_item=_path_to_item,
177
+ valid_classes=(self.__class__,),
178
+ )
179
+
180
+ self._data_store = {}
181
+ self._check_type = _check_type
182
+ self._spec_property_naming = _spec_property_naming
183
+ self._path_to_item = _path_to_item
184
+ self._configuration = _configuration
185
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
186
+
187
+ self.data = data
188
+ for var_name, var_value in kwargs.items():
189
+ if var_name not in self.attribute_map and \
190
+ self._configuration is not None and \
191
+ self._configuration.discard_unknown_keys and \
192
+ self.additional_properties_type is None:
193
+ # discard variable.
194
+ continue
195
+ setattr(self, var_name, var_value)
196
+ return self
197
+
198
+ required_properties = set([
199
+ '_data_store',
200
+ '_check_type',
201
+ '_spec_property_naming',
202
+ '_path_to_item',
203
+ '_configuration',
204
+ '_visited_composed_classes',
205
+ ])
206
+
207
+ @convert_js_args_to_python_args
208
+ def __init__(self, data, *args, **kwargs): # noqa: E501
209
+ """JsonApiSingleResponseOfCatalogStatus - a model defined in OpenAPI
210
+
211
+ Args:
212
+ data (JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus):
213
+
214
+ Keyword Args:
215
+ _check_type (bool): if True, values for parameters in openapi_types
216
+ will be type checked and a TypeError will be
217
+ raised if the wrong type is input.
218
+ Defaults to True
219
+ _path_to_item (tuple/list): This is a list of keys or values to
220
+ drill down to the model in received_data
221
+ when deserializing a response
222
+ _spec_property_naming (bool): True if the variable names in the input data
223
+ are serialized names, as specified in the OpenAPI document.
224
+ False if the variable names in the input data
225
+ are pythonic names, e.g. snake case (default)
226
+ _configuration (Configuration): the instance to use when
227
+ deserializing a file_type parameter.
228
+ If passed, type conversion is attempted
229
+ If omitted no type conversion is done.
230
+ _visited_composed_classes (tuple): This stores a tuple of
231
+ classes that we have traveled through so that
232
+ if we see that class again we will not use its
233
+ discriminator again.
234
+ When traveling through a discriminator, the
235
+ composed schema that is
236
+ is traveled through is added to this set.
237
+ For example if Animal has a discriminator
238
+ petType and we pass in "Dog", and the class Dog
239
+ allOf includes Animal, we move through Animal
240
+ once using the discriminator, and pick Dog.
241
+ Then in Dog, we will make an instance of the
242
+ Animal class but this time we won't travel
243
+ through its discriminator because we passed in
244
+ _visited_composed_classes = (Animal,)
245
+ errors ([CommonError]): [optional] # noqa: E501
246
+ warnings ([CommonWarning]): [optional] # noqa: E501
247
+ """
248
+
249
+ _check_type = kwargs.pop('_check_type', True)
250
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
251
+ _path_to_item = kwargs.pop('_path_to_item', ())
252
+ _configuration = kwargs.pop('_configuration', None)
253
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
254
+
255
+ if args:
256
+ for arg in args:
257
+ if isinstance(arg, dict):
258
+ kwargs.update(arg)
259
+ else:
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
+ self.data = data
277
+ for var_name, var_value in kwargs.items():
278
+ if var_name not in self.attribute_map and \
279
+ self._configuration is not None and \
280
+ self._configuration.discard_unknown_keys and \
281
+ self.additional_properties_type is None:
282
+ # discard variable.
283
+ continue
284
+ setattr(self, var_name, var_value)
285
+ if var_name in self.read_only_vars:
286
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
287
+ f"class with read only attributes.")
@@ -30,7 +30,7 @@ from criteo_api_retailmedia_preview.exceptions import ApiAttributeError
30
30
 
31
31
 
32
32
 
33
- class RetailMediaBrands(ModelNormal):
33
+ class NillableString(ModelNormal):
34
34
  """NOTE: This class is auto generated by OpenAPI Generator.
35
35
  Ref: https://openapi-generator.tech
36
36
 
@@ -60,7 +60,13 @@ class RetailMediaBrands(ModelNormal):
60
60
  validations = {
61
61
  }
62
62
 
63
- additional_properties_type = None
63
+ @cached_property
64
+ def additional_properties_type():
65
+ """
66
+ This must be a method because a model may have properties that are
67
+ of type self, this must run after the class is loaded
68
+ """
69
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
64
70
 
65
71
  _nullable = False
66
72
 
@@ -75,7 +81,7 @@ class RetailMediaBrands(ModelNormal):
75
81
  and the value is attribute type.
76
82
  """
77
83
  return {
78
- 'brand_ids': ([int], none_type,), # noqa: E501
84
+ 'value': (str, none_type,), # noqa: E501
79
85
  }
80
86
 
81
87
  @cached_property
@@ -84,7 +90,7 @@ class RetailMediaBrands(ModelNormal):
84
90
 
85
91
 
86
92
  attribute_map = {
87
- 'brand_ids': 'brandIds', # noqa: E501
93
+ 'value': 'value', # noqa: E501
88
94
  }
89
95
 
90
96
  read_only_vars = {
@@ -95,7 +101,7 @@ class RetailMediaBrands(ModelNormal):
95
101
  @classmethod
96
102
  @convert_js_args_to_python_args
97
103
  def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
98
- """RetailMediaBrands - a model defined in OpenAPI
104
+ """NillableString - a model defined in OpenAPI
99
105
 
100
106
  Keyword Args:
101
107
  _check_type (bool): if True, values for parameters in openapi_types
@@ -128,7 +134,7 @@ class RetailMediaBrands(ModelNormal):
128
134
  Animal class but this time we won't travel
129
135
  through its discriminator because we passed in
130
136
  _visited_composed_classes = (Animal,)
131
- brand_ids ([int], none_type): [optional] # noqa: E501
137
+ value (str, none_type): The string's value. If missing or null the string's value is set to \"null\". [optional] # noqa: E501
132
138
  """
133
139
 
134
140
  _check_type = kwargs.pop('_check_type', True)
@@ -181,7 +187,7 @@ class RetailMediaBrands(ModelNormal):
181
187
 
182
188
  @convert_js_args_to_python_args
183
189
  def __init__(self, *args, **kwargs): # noqa: E501
184
- """RetailMediaBrands - a model defined in OpenAPI
190
+ """NillableString - a model defined in OpenAPI
185
191
 
186
192
  Keyword Args:
187
193
  _check_type (bool): if True, values for parameters in openapi_types
@@ -214,7 +220,7 @@ class RetailMediaBrands(ModelNormal):
214
220
  Animal class but this time we won't travel
215
221
  through its discriminator because we passed in
216
222
  _visited_composed_classes = (Animal,)
217
- brand_ids ([int], none_type): [optional] # noqa: E501
223
+ value (str, none_type): The string's value. If missing or null the string's value is set to \"null\". [optional] # noqa: E501
218
224
  """
219
225
 
220
226
  _check_type = kwargs.pop('_check_type', True)
@@ -0,0 +1,276 @@
1
+ """
2
+ Criteo API
3
+
4
+ Criteo API - RetailMedia # noqa: E501
5
+
6
+ The version of the OpenAPI document: Preview
7
+ Generated by: https://openapi-generator.tech
8
+ """
9
+
10
+
11
+ import re # noqa: F401
12
+ import sys # noqa: F401
13
+
14
+ from criteo_api_retailmedia_preview.model_utils import ( # noqa: F401
15
+ ApiTypeError,
16
+ ModelComposed,
17
+ ModelNormal,
18
+ ModelSimple,
19
+ cached_property,
20
+ change_keys_js_to_python,
21
+ convert_js_args_to_python_args,
22
+ date,
23
+ datetime,
24
+ file_type,
25
+ none_type,
26
+ validate_get_composed_info,
27
+ OpenApiModel
28
+ )
29
+ from criteo_api_retailmedia_preview.exceptions import ApiAttributeError
30
+
31
+
32
+ def lazy_import():
33
+ from criteo_api_retailmedia_preview.model.balance_history_change_data_capture_v1 import BalanceHistoryChangeDataCaptureV1
34
+ from criteo_api_retailmedia_preview.model.metadata import Metadata
35
+ globals()['BalanceHistoryChangeDataCaptureV1'] = BalanceHistoryChangeDataCaptureV1
36
+ globals()['Metadata'] = Metadata
37
+
38
+
39
+ class PageOfBalanceHistoryChangeDataCaptureV1(ModelNormal):
40
+ """NOTE: This class is auto generated by OpenAPI Generator.
41
+ Ref: https://openapi-generator.tech
42
+
43
+ Do not edit the class manually.
44
+
45
+ Attributes:
46
+ allowed_values (dict): The key is the tuple path to the attribute
47
+ and the for var_name this is (var_name,). The value is a dict
48
+ with a capitalized key describing the allowed value and an allowed
49
+ value. These dicts store the allowed enum values.
50
+ attribute_map (dict): The key is attribute name
51
+ and the value is json key in definition.
52
+ discriminator_value_class_map (dict): A dict to go from the discriminator
53
+ variable value to the discriminator class name.
54
+ validations (dict): The key is the tuple path to the attribute
55
+ and the for var_name this is (var_name,). The value is a dict
56
+ that stores validations for max_length, min_length, max_items,
57
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
58
+ inclusive_minimum, and regex.
59
+ additional_properties_type (tuple): A tuple of classes accepted
60
+ as additional properties values.
61
+ """
62
+
63
+ allowed_values = {
64
+ }
65
+
66
+ validations = {
67
+ }
68
+
69
+ additional_properties_type = None
70
+
71
+ _nullable = False
72
+
73
+ @cached_property
74
+ def openapi_types():
75
+ """
76
+ This must be a method because a model may have properties that are
77
+ of type self, this must run after the class is loaded
78
+
79
+ Returns
80
+ openapi_types (dict): The key is attribute name
81
+ and the value is attribute type.
82
+ """
83
+ lazy_import()
84
+ return {
85
+ 'meta': (Metadata,), # noqa: E501
86
+ 'data': ([BalanceHistoryChangeDataCaptureV1],), # noqa: E501
87
+ }
88
+
89
+ @cached_property
90
+ def discriminator():
91
+ return None
92
+
93
+
94
+ attribute_map = {
95
+ 'meta': 'meta', # noqa: E501
96
+ 'data': 'data', # noqa: E501
97
+ }
98
+
99
+ read_only_vars = {
100
+ }
101
+
102
+ _composed_schemas = {}
103
+
104
+ @classmethod
105
+ @convert_js_args_to_python_args
106
+ def _from_openapi_data(cls, meta, data, *args, **kwargs): # noqa: E501
107
+ """PageOfBalanceHistoryChangeDataCaptureV1 - a model defined in OpenAPI
108
+
109
+ Args:
110
+ meta (Metadata):
111
+ data ([BalanceHistoryChangeDataCaptureV1]):
112
+
113
+ Keyword Args:
114
+ _check_type (bool): if True, values for parameters in openapi_types
115
+ will be type checked and a TypeError will be
116
+ raised if the wrong type is input.
117
+ Defaults to True
118
+ _path_to_item (tuple/list): This is a list of keys or values to
119
+ drill down to the model in received_data
120
+ when deserializing a response
121
+ _spec_property_naming (bool): True if the variable names in the input data
122
+ are serialized names, as specified in the OpenAPI document.
123
+ False if the variable names in the input data
124
+ are pythonic names, e.g. snake case (default)
125
+ _configuration (Configuration): the instance to use when
126
+ deserializing a file_type parameter.
127
+ If passed, type conversion is attempted
128
+ If omitted no type conversion is done.
129
+ _visited_composed_classes (tuple): This stores a tuple of
130
+ classes that we have traveled through so that
131
+ if we see that class again we will not use its
132
+ discriminator again.
133
+ When traveling through a discriminator, the
134
+ composed schema that is
135
+ is traveled through is added to this set.
136
+ For example if Animal has a discriminator
137
+ petType and we pass in "Dog", and the class Dog
138
+ allOf includes Animal, we move through Animal
139
+ once using the discriminator, and pick Dog.
140
+ Then in Dog, we will make an instance of the
141
+ Animal class but this time we won't travel
142
+ through its discriminator because we passed in
143
+ _visited_composed_classes = (Animal,)
144
+ """
145
+
146
+ _check_type = kwargs.pop('_check_type', True)
147
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
148
+ _path_to_item = kwargs.pop('_path_to_item', ())
149
+ _configuration = kwargs.pop('_configuration', None)
150
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
151
+
152
+ self = super(OpenApiModel, cls).__new__(cls)
153
+
154
+ if args:
155
+ for arg in args:
156
+ if isinstance(arg, dict):
157
+ kwargs.update(arg)
158
+ else:
159
+ raise ApiTypeError(
160
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
161
+ args,
162
+ self.__class__.__name__,
163
+ ),
164
+ path_to_item=_path_to_item,
165
+ valid_classes=(self.__class__,),
166
+ )
167
+
168
+ self._data_store = {}
169
+ self._check_type = _check_type
170
+ self._spec_property_naming = _spec_property_naming
171
+ self._path_to_item = _path_to_item
172
+ self._configuration = _configuration
173
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
174
+
175
+ self.meta = meta
176
+ self.data = data
177
+ for var_name, var_value in kwargs.items():
178
+ if var_name not in self.attribute_map and \
179
+ self._configuration is not None and \
180
+ self._configuration.discard_unknown_keys and \
181
+ self.additional_properties_type is None:
182
+ # discard variable.
183
+ continue
184
+ setattr(self, var_name, var_value)
185
+ return self
186
+
187
+ required_properties = set([
188
+ '_data_store',
189
+ '_check_type',
190
+ '_spec_property_naming',
191
+ '_path_to_item',
192
+ '_configuration',
193
+ '_visited_composed_classes',
194
+ ])
195
+
196
+ @convert_js_args_to_python_args
197
+ def __init__(self, meta, data, *args, **kwargs): # noqa: E501
198
+ """PageOfBalanceHistoryChangeDataCaptureV1 - a model defined in OpenAPI
199
+
200
+ Args:
201
+ meta (Metadata):
202
+ data ([BalanceHistoryChangeDataCaptureV1]):
203
+
204
+ Keyword Args:
205
+ _check_type (bool): if True, values for parameters in openapi_types
206
+ will be type checked and a TypeError will be
207
+ raised if the wrong type is input.
208
+ Defaults to True
209
+ _path_to_item (tuple/list): This is a list of keys or values to
210
+ drill down to the model in received_data
211
+ when deserializing a response
212
+ _spec_property_naming (bool): True if the variable names in the input data
213
+ are serialized names, as specified in the OpenAPI document.
214
+ False if the variable names in the input data
215
+ are pythonic names, e.g. snake case (default)
216
+ _configuration (Configuration): the instance to use when
217
+ deserializing a file_type parameter.
218
+ If passed, type conversion is attempted
219
+ If omitted no type conversion is done.
220
+ _visited_composed_classes (tuple): This stores a tuple of
221
+ classes that we have traveled through so that
222
+ if we see that class again we will not use its
223
+ discriminator again.
224
+ When traveling through a discriminator, the
225
+ composed schema that is
226
+ is traveled through is added to this set.
227
+ For example if Animal has a discriminator
228
+ petType and we pass in "Dog", and the class Dog
229
+ allOf includes Animal, we move through Animal
230
+ once using the discriminator, and pick Dog.
231
+ Then in Dog, we will make an instance of the
232
+ Animal class but this time we won't travel
233
+ through its discriminator because we passed in
234
+ _visited_composed_classes = (Animal,)
235
+ """
236
+
237
+ _check_type = kwargs.pop('_check_type', True)
238
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
239
+ _path_to_item = kwargs.pop('_path_to_item', ())
240
+ _configuration = kwargs.pop('_configuration', None)
241
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
242
+
243
+ if args:
244
+ for arg in args:
245
+ if isinstance(arg, dict):
246
+ kwargs.update(arg)
247
+ else:
248
+ raise ApiTypeError(
249
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
250
+ args,
251
+ self.__class__.__name__,
252
+ ),
253
+ path_to_item=_path_to_item,
254
+ valid_classes=(self.__class__,),
255
+ )
256
+
257
+ self._data_store = {}
258
+ self._check_type = _check_type
259
+ self._spec_property_naming = _spec_property_naming
260
+ self._path_to_item = _path_to_item
261
+ self._configuration = _configuration
262
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
263
+
264
+ self.meta = meta
265
+ self.data = data
266
+ for var_name, var_value in kwargs.items():
267
+ if var_name not in self.attribute_map and \
268
+ self._configuration is not None and \
269
+ self._configuration.discard_unknown_keys and \
270
+ self.additional_properties_type is None:
271
+ # discard variable.
272
+ continue
273
+ setattr(self, var_name, var_value)
274
+ if var_name in self.read_only_vars:
275
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
276
+ f"class with read only attributes.")