criteo-api-retailmedia-sdk 0.0.250317__py3-none-any.whl → 0.0.250327__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 (30) hide show
  1. criteo_api_retailmedia_preview/__init__.py +1 -1
  2. criteo_api_retailmedia_preview/api/campaign_api.py +635 -41
  3. criteo_api_retailmedia_preview/api_client.py +1 -1
  4. criteo_api_retailmedia_preview/configuration.py +1 -1
  5. criteo_api_retailmedia_preview/model/brand_catalog_request_v2.py +284 -0
  6. criteo_api_retailmedia_preview/model/{external_catalog_status.py → catalog_status_v2.py} +15 -29
  7. criteo_api_retailmedia_preview/model/catalog_status_v2_response.py +281 -0
  8. criteo_api_retailmedia_preview/model/entity_resource_collection_outcome_line_item_keyword_review_report_and_metadata.py +280 -0
  9. criteo_api_retailmedia_preview/model/entity_resource_line_item_keyword_review_report.py +270 -0
  10. criteo_api_retailmedia_preview/model/{json_api_body_with_id_of_int64_and_catalog_status_and_catalog_status.py → json_api_body_without_id_of_brand_catalog_request_v2_and_brand_catalog_request_v2.py} +10 -16
  11. criteo_api_retailmedia_preview/model/{json_api_body_without_id_of_seller_catalog_request_and_seller_catalog_request.py → json_api_body_without_id_of_seller_catalog_request_v2_and_seller_catalog_request_v2.py} +8 -8
  12. criteo_api_retailmedia_preview/model/{json_api_request_of_seller_catalog_request.py → json_api_request_of_brand_catalog_request_v2.py} +8 -8
  13. criteo_api_retailmedia_preview/model/{seller_catalog_request.py → json_api_request_of_seller_catalog_request_v2.py} +9 -9
  14. criteo_api_retailmedia_preview/model/line_item_keyword_review_report.py +311 -0
  15. criteo_api_retailmedia_preview/model/partner_billing_report_status_v1.py +4 -4
  16. criteo_api_retailmedia_preview/model/resource_of_catalog_status_v2.py +277 -0
  17. criteo_api_retailmedia_preview/model/retail_media_keywords_review.py +271 -0
  18. criteo_api_retailmedia_preview/model/retail_media_keywords_review_result.py +271 -0
  19. criteo_api_retailmedia_preview/model/review_set_state.py +278 -0
  20. criteo_api_retailmedia_preview/model/seller_catalog_request_v2.py +286 -0
  21. criteo_api_retailmedia_preview/model/{seller_identifier.py → seller_identifier_v2.py} +3 -3
  22. criteo_api_retailmedia_preview/model/value_resource_input_retail_media_keywords_review.py +262 -0
  23. criteo_api_retailmedia_preview/model/{json_api_single_response_of_catalog_status.py → value_resource_outcome_retail_media_keywords_review_result.py} +22 -35
  24. criteo_api_retailmedia_preview/model/value_resource_retail_media_keywords_review.py +266 -0
  25. criteo_api_retailmedia_preview/model/value_resource_retail_media_keywords_review_result.py +266 -0
  26. criteo_api_retailmedia_preview/models/__init__.py +20 -7
  27. {criteo_api_retailmedia_sdk-0.0.250317.dist-info → criteo_api_retailmedia_sdk-0.0.250327.dist-info}/METADATA +4 -4
  28. {criteo_api_retailmedia_sdk-0.0.250317.dist-info → criteo_api_retailmedia_sdk-0.0.250327.dist-info}/RECORD +30 -17
  29. {criteo_api_retailmedia_sdk-0.0.250317.dist-info → criteo_api_retailmedia_sdk-0.0.250327.dist-info}/WHEEL +1 -1
  30. {criteo_api_retailmedia_sdk-0.0.250317.dist-info → criteo_api_retailmedia_sdk-0.0.250327.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,262 @@
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.value_resource_retail_media_keywords_review import ValueResourceRetailMediaKeywordsReview
34
+ globals()['ValueResourceRetailMediaKeywordsReview'] = ValueResourceRetailMediaKeywordsReview
35
+
36
+
37
+ class ValueResourceInputRetailMediaKeywordsReview(ModelNormal):
38
+ """NOTE: This class is auto generated by OpenAPI Generator.
39
+ Ref: https://openapi-generator.tech
40
+
41
+ Do not edit the class manually.
42
+
43
+ Attributes:
44
+ allowed_values (dict): The key is the tuple path to the attribute
45
+ and the for var_name this is (var_name,). The value is a dict
46
+ with a capitalized key describing the allowed value and an allowed
47
+ value. These dicts store the allowed enum values.
48
+ attribute_map (dict): The key is attribute name
49
+ and the value is json key in definition.
50
+ discriminator_value_class_map (dict): A dict to go from the discriminator
51
+ variable value to the discriminator class name.
52
+ validations (dict): The key is the tuple path to the attribute
53
+ and the for var_name this is (var_name,). The value is a dict
54
+ that stores validations for max_length, min_length, max_items,
55
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
56
+ inclusive_minimum, and regex.
57
+ additional_properties_type (tuple): A tuple of classes accepted
58
+ as additional properties values.
59
+ """
60
+
61
+ allowed_values = {
62
+ }
63
+
64
+ validations = {
65
+ }
66
+
67
+ additional_properties_type = None
68
+
69
+ _nullable = False
70
+
71
+ @cached_property
72
+ def openapi_types():
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
+ Returns
78
+ openapi_types (dict): The key is attribute name
79
+ and the value is attribute type.
80
+ """
81
+ lazy_import()
82
+ return {
83
+ 'data': (ValueResourceRetailMediaKeywordsReview,), # noqa: E501
84
+ }
85
+
86
+ @cached_property
87
+ def discriminator():
88
+ return None
89
+
90
+
91
+ attribute_map = {
92
+ 'data': 'data', # noqa: E501
93
+ }
94
+
95
+ read_only_vars = {
96
+ }
97
+
98
+ _composed_schemas = {}
99
+
100
+ @classmethod
101
+ @convert_js_args_to_python_args
102
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
103
+ """ValueResourceInputRetailMediaKeywordsReview - a model defined in OpenAPI
104
+
105
+ Keyword Args:
106
+ _check_type (bool): if True, values for parameters in openapi_types
107
+ will be type checked and a TypeError will be
108
+ raised if the wrong type is input.
109
+ Defaults to True
110
+ _path_to_item (tuple/list): This is a list of keys or values to
111
+ drill down to the model in received_data
112
+ when deserializing a response
113
+ _spec_property_naming (bool): True if the variable names in the input data
114
+ are serialized names, as specified in the OpenAPI document.
115
+ False if the variable names in the input data
116
+ are pythonic names, e.g. snake case (default)
117
+ _configuration (Configuration): the instance to use when
118
+ deserializing a file_type parameter.
119
+ If passed, type conversion is attempted
120
+ If omitted no type conversion is done.
121
+ _visited_composed_classes (tuple): This stores a tuple of
122
+ classes that we have traveled through so that
123
+ if we see that class again we will not use its
124
+ discriminator again.
125
+ When traveling through a discriminator, the
126
+ composed schema that is
127
+ is traveled through is added to this set.
128
+ For example if Animal has a discriminator
129
+ petType and we pass in "Dog", and the class Dog
130
+ allOf includes Animal, we move through Animal
131
+ once using the discriminator, and pick Dog.
132
+ Then in Dog, we will make an instance of the
133
+ Animal class but this time we won't travel
134
+ through its discriminator because we passed in
135
+ _visited_composed_classes = (Animal,)
136
+ data (ValueResourceRetailMediaKeywordsReview): [optional] # noqa: E501
137
+ """
138
+
139
+ _check_type = kwargs.pop('_check_type', True)
140
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
141
+ _path_to_item = kwargs.pop('_path_to_item', ())
142
+ _configuration = kwargs.pop('_configuration', None)
143
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
144
+
145
+ self = super(OpenApiModel, cls).__new__(cls)
146
+
147
+ if args:
148
+ for arg in args:
149
+ if isinstance(arg, dict):
150
+ kwargs.update(arg)
151
+ else:
152
+ raise ApiTypeError(
153
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
154
+ args,
155
+ self.__class__.__name__,
156
+ ),
157
+ path_to_item=_path_to_item,
158
+ valid_classes=(self.__class__,),
159
+ )
160
+
161
+ self._data_store = {}
162
+ self._check_type = _check_type
163
+ self._spec_property_naming = _spec_property_naming
164
+ self._path_to_item = _path_to_item
165
+ self._configuration = _configuration
166
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
167
+
168
+ for var_name, var_value in kwargs.items():
169
+ if var_name not in self.attribute_map and \
170
+ self._configuration is not None and \
171
+ self._configuration.discard_unknown_keys and \
172
+ self.additional_properties_type is None:
173
+ # discard variable.
174
+ continue
175
+ setattr(self, var_name, var_value)
176
+ return self
177
+
178
+ required_properties = set([
179
+ '_data_store',
180
+ '_check_type',
181
+ '_spec_property_naming',
182
+ '_path_to_item',
183
+ '_configuration',
184
+ '_visited_composed_classes',
185
+ ])
186
+
187
+ @convert_js_args_to_python_args
188
+ def __init__(self, *args, **kwargs): # noqa: E501
189
+ """ValueResourceInputRetailMediaKeywordsReview - a model defined in OpenAPI
190
+
191
+ Keyword Args:
192
+ _check_type (bool): if True, values for parameters in openapi_types
193
+ will be type checked and a TypeError will be
194
+ raised if the wrong type is input.
195
+ Defaults to True
196
+ _path_to_item (tuple/list): This is a list of keys or values to
197
+ drill down to the model in received_data
198
+ when deserializing a response
199
+ _spec_property_naming (bool): True if the variable names in the input data
200
+ are serialized names, as specified in the OpenAPI document.
201
+ False if the variable names in the input data
202
+ are pythonic names, e.g. snake case (default)
203
+ _configuration (Configuration): the instance to use when
204
+ deserializing a file_type parameter.
205
+ If passed, type conversion is attempted
206
+ If omitted no type conversion is done.
207
+ _visited_composed_classes (tuple): This stores a tuple of
208
+ classes that we have traveled through so that
209
+ if we see that class again we will not use its
210
+ discriminator again.
211
+ When traveling through a discriminator, the
212
+ composed schema that is
213
+ is traveled through is added to this set.
214
+ For example if Animal has a discriminator
215
+ petType and we pass in "Dog", and the class Dog
216
+ allOf includes Animal, we move through Animal
217
+ once using the discriminator, and pick Dog.
218
+ Then in Dog, we will make an instance of the
219
+ Animal class but this time we won't travel
220
+ through its discriminator because we passed in
221
+ _visited_composed_classes = (Animal,)
222
+ data (ValueResourceRetailMediaKeywordsReview): [optional] # noqa: E501
223
+ """
224
+
225
+ _check_type = kwargs.pop('_check_type', True)
226
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
227
+ _path_to_item = kwargs.pop('_path_to_item', ())
228
+ _configuration = kwargs.pop('_configuration', None)
229
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
230
+
231
+ if args:
232
+ for arg in args:
233
+ if isinstance(arg, dict):
234
+ kwargs.update(arg)
235
+ else:
236
+ raise ApiTypeError(
237
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
238
+ args,
239
+ self.__class__.__name__,
240
+ ),
241
+ path_to_item=_path_to_item,
242
+ valid_classes=(self.__class__,),
243
+ )
244
+
245
+ self._data_store = {}
246
+ self._check_type = _check_type
247
+ self._spec_property_naming = _spec_property_naming
248
+ self._path_to_item = _path_to_item
249
+ self._configuration = _configuration
250
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
251
+
252
+ for var_name, var_value in kwargs.items():
253
+ if var_name not in self.attribute_map and \
254
+ self._configuration is not None and \
255
+ self._configuration.discard_unknown_keys and \
256
+ self.additional_properties_type is None:
257
+ # discard variable.
258
+ continue
259
+ setattr(self, var_name, var_value)
260
+ if var_name in self.read_only_vars:
261
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
262
+ f"class with read only attributes.")
@@ -30,15 +30,13 @@ from criteo_api_retailmedia_preview.exceptions import ApiAttributeError
30
30
 
31
31
 
32
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
33
+ from criteo_api_retailmedia_preview.model.sdk_api_rest_common_problem import SdkApiRestCommonProblem
34
+ from criteo_api_retailmedia_preview.model.value_resource_retail_media_keywords_review_result import ValueResourceRetailMediaKeywordsReviewResult
35
+ globals()['SdkApiRestCommonProblem'] = SdkApiRestCommonProblem
36
+ globals()['ValueResourceRetailMediaKeywordsReviewResult'] = ValueResourceRetailMediaKeywordsReviewResult
39
37
 
40
38
 
41
- class JsonApiSingleResponseOfCatalogStatus(ModelNormal):
39
+ class ValueResourceOutcomeRetailMediaKeywordsReviewResult(ModelNormal):
42
40
  """NOTE: This class is auto generated by OpenAPI Generator.
43
41
  Ref: https://openapi-generator.tech
44
42
 
@@ -68,14 +66,7 @@ class JsonApiSingleResponseOfCatalogStatus(ModelNormal):
68
66
  validations = {
69
67
  }
70
68
 
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
69
+ additional_properties_type = None
79
70
 
80
71
  _nullable = False
81
72
 
@@ -91,9 +82,9 @@ class JsonApiSingleResponseOfCatalogStatus(ModelNormal):
91
82
  """
92
83
  lazy_import()
93
84
  return {
94
- 'data': (JsonApiBodyWithIdOfInt64AndCatalogStatusAndCatalogStatus,), # noqa: E501
95
- 'errors': ([CommonError],), # noqa: E501
96
- 'warnings': ([CommonWarning],), # noqa: E501
85
+ 'data': (ValueResourceRetailMediaKeywordsReviewResult,), # noqa: E501
86
+ 'warnings': ([SdkApiRestCommonProblem], none_type,), # noqa: E501
87
+ 'errors': ([SdkApiRestCommonProblem], none_type,), # noqa: E501
97
88
  }
98
89
 
99
90
  @cached_property
@@ -103,22 +94,21 @@ class JsonApiSingleResponseOfCatalogStatus(ModelNormal):
103
94
 
104
95
  attribute_map = {
105
96
  'data': 'data', # noqa: E501
106
- 'errors': 'errors', # noqa: E501
107
97
  'warnings': 'warnings', # noqa: E501
98
+ 'errors': 'errors', # noqa: E501
108
99
  }
109
100
 
110
101
  read_only_vars = {
102
+ 'warnings', # noqa: E501
103
+ 'errors', # noqa: E501
111
104
  }
112
105
 
113
106
  _composed_schemas = {}
114
107
 
115
108
  @classmethod
116
109
  @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):
110
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
111
+ """ValueResourceOutcomeRetailMediaKeywordsReviewResult - a model defined in OpenAPI
122
112
 
123
113
  Keyword Args:
124
114
  _check_type (bool): if True, values for parameters in openapi_types
@@ -151,8 +141,9 @@ class JsonApiSingleResponseOfCatalogStatus(ModelNormal):
151
141
  Animal class but this time we won't travel
152
142
  through its discriminator because we passed in
153
143
  _visited_composed_classes = (Animal,)
154
- errors ([CommonError]): [optional] # noqa: E501
155
- warnings ([CommonWarning]): [optional] # noqa: E501
144
+ data (ValueResourceRetailMediaKeywordsReviewResult): [optional] # noqa: E501
145
+ warnings ([SdkApiRestCommonProblem], none_type): Warnings that occured during this call.. [optional] # noqa: E501
146
+ errors ([SdkApiRestCommonProblem], none_type): Errors that occured during this call.. [optional] # noqa: E501
156
147
  """
157
148
 
158
149
  _check_type = kwargs.pop('_check_type', True)
@@ -184,7 +175,6 @@ class JsonApiSingleResponseOfCatalogStatus(ModelNormal):
184
175
  self._configuration = _configuration
185
176
  self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
186
177
 
187
- self.data = data
188
178
  for var_name, var_value in kwargs.items():
189
179
  if var_name not in self.attribute_map and \
190
180
  self._configuration is not None and \
@@ -205,11 +195,8 @@ class JsonApiSingleResponseOfCatalogStatus(ModelNormal):
205
195
  ])
206
196
 
207
197
  @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):
198
+ def __init__(self, *args, **kwargs): # noqa: E501
199
+ """ValueResourceOutcomeRetailMediaKeywordsReviewResult - a model defined in OpenAPI
213
200
 
214
201
  Keyword Args:
215
202
  _check_type (bool): if True, values for parameters in openapi_types
@@ -242,8 +229,9 @@ class JsonApiSingleResponseOfCatalogStatus(ModelNormal):
242
229
  Animal class but this time we won't travel
243
230
  through its discriminator because we passed in
244
231
  _visited_composed_classes = (Animal,)
245
- errors ([CommonError]): [optional] # noqa: E501
246
- warnings ([CommonWarning]): [optional] # noqa: E501
232
+ data (ValueResourceRetailMediaKeywordsReviewResult): [optional] # noqa: E501
233
+ warnings ([SdkApiRestCommonProblem], none_type): Warnings that occured during this call.. [optional] # noqa: E501
234
+ errors ([SdkApiRestCommonProblem], none_type): Errors that occured during this call.. [optional] # noqa: E501
247
235
  """
248
236
 
249
237
  _check_type = kwargs.pop('_check_type', True)
@@ -273,7 +261,6 @@ class JsonApiSingleResponseOfCatalogStatus(ModelNormal):
273
261
  self._configuration = _configuration
274
262
  self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
275
263
 
276
- self.data = data
277
264
  for var_name, var_value in kwargs.items():
278
265
  if var_name not in self.attribute_map and \
279
266
  self._configuration is not None and \
@@ -0,0 +1,266 @@
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.retail_media_keywords_review import RetailMediaKeywordsReview
34
+ globals()['RetailMediaKeywordsReview'] = RetailMediaKeywordsReview
35
+
36
+
37
+ class ValueResourceRetailMediaKeywordsReview(ModelNormal):
38
+ """NOTE: This class is auto generated by OpenAPI Generator.
39
+ Ref: https://openapi-generator.tech
40
+
41
+ Do not edit the class manually.
42
+
43
+ Attributes:
44
+ allowed_values (dict): The key is the tuple path to the attribute
45
+ and the for var_name this is (var_name,). The value is a dict
46
+ with a capitalized key describing the allowed value and an allowed
47
+ value. These dicts store the allowed enum values.
48
+ attribute_map (dict): The key is attribute name
49
+ and the value is json key in definition.
50
+ discriminator_value_class_map (dict): A dict to go from the discriminator
51
+ variable value to the discriminator class name.
52
+ validations (dict): The key is the tuple path to the attribute
53
+ and the for var_name this is (var_name,). The value is a dict
54
+ that stores validations for max_length, min_length, max_items,
55
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
56
+ inclusive_minimum, and regex.
57
+ additional_properties_type (tuple): A tuple of classes accepted
58
+ as additional properties values.
59
+ """
60
+
61
+ allowed_values = {
62
+ }
63
+
64
+ validations = {
65
+ }
66
+
67
+ additional_properties_type = None
68
+
69
+ _nullable = False
70
+
71
+ @cached_property
72
+ def openapi_types():
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
+ Returns
78
+ openapi_types (dict): The key is attribute name
79
+ and the value is attribute type.
80
+ """
81
+ lazy_import()
82
+ return {
83
+ 'type': (str, none_type,), # noqa: E501
84
+ 'attributes': (RetailMediaKeywordsReview,), # noqa: E501
85
+ }
86
+
87
+ @cached_property
88
+ def discriminator():
89
+ return None
90
+
91
+
92
+ attribute_map = {
93
+ 'type': 'type', # noqa: E501
94
+ 'attributes': 'attributes', # noqa: E501
95
+ }
96
+
97
+ read_only_vars = {
98
+ }
99
+
100
+ _composed_schemas = {}
101
+
102
+ @classmethod
103
+ @convert_js_args_to_python_args
104
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
105
+ """ValueResourceRetailMediaKeywordsReview - a model defined in OpenAPI
106
+
107
+ Keyword Args:
108
+ _check_type (bool): if True, values for parameters in openapi_types
109
+ will be type checked and a TypeError will be
110
+ raised if the wrong type is input.
111
+ Defaults to True
112
+ _path_to_item (tuple/list): This is a list of keys or values to
113
+ drill down to the model in received_data
114
+ when deserializing a response
115
+ _spec_property_naming (bool): True if the variable names in the input data
116
+ are serialized names, as specified in the OpenAPI document.
117
+ False if the variable names in the input data
118
+ are pythonic names, e.g. snake case (default)
119
+ _configuration (Configuration): the instance to use when
120
+ deserializing a file_type parameter.
121
+ If passed, type conversion is attempted
122
+ If omitted no type conversion is done.
123
+ _visited_composed_classes (tuple): This stores a tuple of
124
+ classes that we have traveled through so that
125
+ if we see that class again we will not use its
126
+ discriminator again.
127
+ When traveling through a discriminator, the
128
+ composed schema that is
129
+ is traveled through is added to this set.
130
+ For example if Animal has a discriminator
131
+ petType and we pass in "Dog", and the class Dog
132
+ allOf includes Animal, we move through Animal
133
+ once using the discriminator, and pick Dog.
134
+ Then in Dog, we will make an instance of the
135
+ Animal class but this time we won't travel
136
+ through its discriminator because we passed in
137
+ _visited_composed_classes = (Animal,)
138
+ type (str, none_type): Type of the resource.. [optional] # noqa: E501
139
+ attributes (RetailMediaKeywordsReview): [optional] # noqa: E501
140
+ """
141
+
142
+ _check_type = kwargs.pop('_check_type', True)
143
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
144
+ _path_to_item = kwargs.pop('_path_to_item', ())
145
+ _configuration = kwargs.pop('_configuration', None)
146
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
147
+
148
+ self = super(OpenApiModel, cls).__new__(cls)
149
+
150
+ if args:
151
+ for arg in args:
152
+ if isinstance(arg, dict):
153
+ kwargs.update(arg)
154
+ else:
155
+ raise ApiTypeError(
156
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
157
+ args,
158
+ self.__class__.__name__,
159
+ ),
160
+ path_to_item=_path_to_item,
161
+ valid_classes=(self.__class__,),
162
+ )
163
+
164
+ self._data_store = {}
165
+ self._check_type = _check_type
166
+ self._spec_property_naming = _spec_property_naming
167
+ self._path_to_item = _path_to_item
168
+ self._configuration = _configuration
169
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
170
+
171
+ for var_name, var_value in kwargs.items():
172
+ if var_name not in self.attribute_map and \
173
+ self._configuration is not None and \
174
+ self._configuration.discard_unknown_keys and \
175
+ self.additional_properties_type is None:
176
+ # discard variable.
177
+ continue
178
+ setattr(self, var_name, var_value)
179
+ return self
180
+
181
+ required_properties = set([
182
+ '_data_store',
183
+ '_check_type',
184
+ '_spec_property_naming',
185
+ '_path_to_item',
186
+ '_configuration',
187
+ '_visited_composed_classes',
188
+ ])
189
+
190
+ @convert_js_args_to_python_args
191
+ def __init__(self, *args, **kwargs): # noqa: E501
192
+ """ValueResourceRetailMediaKeywordsReview - a model defined in OpenAPI
193
+
194
+ Keyword Args:
195
+ _check_type (bool): if True, values for parameters in openapi_types
196
+ will be type checked and a TypeError will be
197
+ raised if the wrong type is input.
198
+ Defaults to True
199
+ _path_to_item (tuple/list): This is a list of keys or values to
200
+ drill down to the model in received_data
201
+ when deserializing a response
202
+ _spec_property_naming (bool): True if the variable names in the input data
203
+ are serialized names, as specified in the OpenAPI document.
204
+ False if the variable names in the input data
205
+ are pythonic names, e.g. snake case (default)
206
+ _configuration (Configuration): the instance to use when
207
+ deserializing a file_type parameter.
208
+ If passed, type conversion is attempted
209
+ If omitted no type conversion is done.
210
+ _visited_composed_classes (tuple): This stores a tuple of
211
+ classes that we have traveled through so that
212
+ if we see that class again we will not use its
213
+ discriminator again.
214
+ When traveling through a discriminator, the
215
+ composed schema that is
216
+ is traveled through is added to this set.
217
+ For example if Animal has a discriminator
218
+ petType and we pass in "Dog", and the class Dog
219
+ allOf includes Animal, we move through Animal
220
+ once using the discriminator, and pick Dog.
221
+ Then in Dog, we will make an instance of the
222
+ Animal class but this time we won't travel
223
+ through its discriminator because we passed in
224
+ _visited_composed_classes = (Animal,)
225
+ type (str, none_type): Type of the resource.. [optional] # noqa: E501
226
+ attributes (RetailMediaKeywordsReview): [optional] # noqa: E501
227
+ """
228
+
229
+ _check_type = kwargs.pop('_check_type', True)
230
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
231
+ _path_to_item = kwargs.pop('_path_to_item', ())
232
+ _configuration = kwargs.pop('_configuration', None)
233
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
234
+
235
+ if args:
236
+ for arg in args:
237
+ if isinstance(arg, dict):
238
+ kwargs.update(arg)
239
+ else:
240
+ raise ApiTypeError(
241
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
242
+ args,
243
+ self.__class__.__name__,
244
+ ),
245
+ path_to_item=_path_to_item,
246
+ valid_classes=(self.__class__,),
247
+ )
248
+
249
+ self._data_store = {}
250
+ self._check_type = _check_type
251
+ self._spec_property_naming = _spec_property_naming
252
+ self._path_to_item = _path_to_item
253
+ self._configuration = _configuration
254
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
255
+
256
+ for var_name, var_value in kwargs.items():
257
+ if var_name not in self.attribute_map and \
258
+ self._configuration is not None and \
259
+ self._configuration.discard_unknown_keys and \
260
+ self.additional_properties_type is None:
261
+ # discard variable.
262
+ continue
263
+ setattr(self, var_name, var_value)
264
+ if var_name in self.read_only_vars:
265
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
266
+ f"class with read only attributes.")