criteo-api-retailmedia-sdk 0.0.240404__py3-none-any.whl → 0.0.240515__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.
Files changed (77) hide show
  1. criteo_api_retailmedia_preview/__init__.py +1 -1
  2. criteo_api_retailmedia_preview/api/audience_api.py +284 -0
  3. criteo_api_retailmedia_preview/api/campaign_api.py +1755 -448
  4. criteo_api_retailmedia_preview/api_client.py +1 -1
  5. criteo_api_retailmedia_preview/configuration.py +1 -1
  6. criteo_api_retailmedia_preview/model/{retail_media_externalv1_add_remove_keyword_model.py → add_remove_keyword_model.py} +12 -19
  7. criteo_api_retailmedia_preview/model/add_remove_keywords_model.py +262 -0
  8. criteo_api_retailmedia_preview/model/add_remove_keywords_model_request.py +262 -0
  9. criteo_api_retailmedia_preview/model/add_remove_keywords_model_resource.py +270 -0
  10. criteo_api_retailmedia_preview/model/approval_status_model.py +292 -0
  11. criteo_api_retailmedia_preview/model/async_accounts_report.py +39 -27
  12. criteo_api_retailmedia_preview/model/async_campaigns_report.py +24 -13
  13. criteo_api_retailmedia_preview/model/async_line_items_report.py +24 -13
  14. criteo_api_retailmedia_preview/model/audience_error.py +310 -0
  15. criteo_api_retailmedia_preview/model/audience_warning.py +312 -0
  16. criteo_api_retailmedia_preview/model/{line_item_bid_multipliers_response.py → creative_v2_list_response.py} +16 -16
  17. criteo_api_retailmedia_preview/model/{retail_media_externalv1_resource_outcome.py → creative_v2_response.py} +19 -17
  18. criteo_api_retailmedia_preview/model/{retail_media_externalv1_add_remove_keywords_model_request.py → error_code_response.py} +23 -11
  19. criteo_api_retailmedia_preview/model/external_choice_variable_value.py +269 -0
  20. criteo_api_retailmedia_preview/model/{retail_media_externalv1_set_bids_model.py → external_color_variable_value.py} +11 -14
  21. criteo_api_retailmedia_preview/model/external_creative_create_model_v2.py +297 -0
  22. criteo_api_retailmedia_preview/model/external_creative_update_model_v2.py +297 -0
  23. criteo_api_retailmedia_preview/model/external_creative_v2.py +361 -0
  24. criteo_api_retailmedia_preview/model/external_files_variable_value.py +272 -0
  25. criteo_api_retailmedia_preview/model/{retail_media_externalv1_set_bids_model_request.py → external_hyperlink_variable_value.py} +7 -13
  26. criteo_api_retailmedia_preview/model/{line_item_bid_multipliers.py → external_line_item_bid_multipliers_v2.py} +41 -29
  27. criteo_api_retailmedia_preview/model/external_page_type_environment.py +293 -0
  28. criteo_api_retailmedia_preview/model/external_template_variable_value.py +309 -0
  29. criteo_api_retailmedia_preview/model/external_text_variable_value.py +263 -0
  30. criteo_api_retailmedia_preview/model/external_video_variable_value.py +293 -0
  31. criteo_api_retailmedia_preview/model/{retail_media_externalv1_input_keywords_model.py → input_keywords_model.py} +4 -16
  32. criteo_api_retailmedia_preview/model/{json_api_body_with_id_of_int64_and_line_item_bid_multipliers_and_line_item_bid_multipliers.py → json_api_body_with_id_of_int64_and_line_item_bid_multipliers_v2_and_line_item_bid_multipliers_v2.py} +8 -8
  33. criteo_api_retailmedia_preview/model/{json_api_single_response_of_line_item_bid_multipliers.py → json_api_single_response_of_line_item_bid_multipliers_v2.py} +14 -14
  34. criteo_api_retailmedia_preview/model/{retail_media_externalv1_keyword_data_model.py → keyword_data_model.py} +19 -37
  35. criteo_api_retailmedia_preview/model/{retail_media_externalv1_keywords_model.py → keywords_model.py} +9 -18
  36. criteo_api_retailmedia_preview/model/keywords_model_resource.py +270 -0
  37. criteo_api_retailmedia_preview/model/keywords_model_response.py +274 -0
  38. criteo_api_retailmedia_preview/model/{line_item_bid_multipliers_request.py → line_item_bid_multipliers_v2_request.py} +8 -8
  39. criteo_api_retailmedia_preview/model/line_item_bid_multipliers_v2_response.py +281 -0
  40. criteo_api_retailmedia_preview/model/line_item_product_status.py +291 -0
  41. criteo_api_retailmedia_preview/model/match_type_model.py +291 -0
  42. criteo_api_retailmedia_preview/model/negotiation_state_model.py +293 -0
  43. criteo_api_retailmedia_preview/model/product_metadata.py +269 -0
  44. criteo_api_retailmedia_preview/model/product_resource_outcome.py +266 -0
  45. criteo_api_retailmedia_preview/model/{retail_media_externalv1_add_remove_keywords_model.py → promoted_product.py} +18 -19
  46. criteo_api_retailmedia_preview/model/promoted_product_resource.py +270 -0
  47. criteo_api_retailmedia_preview/model/promoted_product_resource_collection_input.py +262 -0
  48. criteo_api_retailmedia_preview/model/promoted_product_resource_collection_outcome.py +278 -0
  49. criteo_api_retailmedia_preview/model/{retail_media_externalv1_proposal_status_model.py → proposal_status_model.py} +22 -50
  50. criteo_api_retailmedia_preview/model/proposal_status_model_resource.py +270 -0
  51. criteo_api_retailmedia_preview/model/proposal_status_model_response.py +274 -0
  52. criteo_api_retailmedia_preview/model/{resource_of_line_item_bid_multipliers.py → resource_of_creative_v2.py} +8 -8
  53. criteo_api_retailmedia_preview/model/{retail_media_externalv1_keywords_model_resource.py → resource_of_line_item_bid_multipliers_v2.py} +17 -23
  54. criteo_api_retailmedia_preview/model/resource_outcome.py +268 -0
  55. criteo_api_retailmedia_preview/model/retail_media_account.py +6 -6
  56. criteo_api_retailmedia_preview/model/{retail_media_externalv1_set_bids_model_resource.py → retail_media_contactlist_amendment.py} +16 -20
  57. criteo_api_retailmedia_preview/model/{retail_media_externalv1_add_remove_keywords_model_resource.py → retail_media_contactlist_amendment_attributes.py} +34 -25
  58. criteo_api_retailmedia_preview/model/retail_media_contactlist_amendment_request.py +275 -0
  59. criteo_api_retailmedia_preview/model/retail_media_contactlist_operation.py +291 -0
  60. criteo_api_retailmedia_preview/model/{retail_media_externalv1_proposal_status_model_resource.py → retail_media_contactlist_operation_response_attributes.py} +14 -16
  61. criteo_api_retailmedia_preview/model/retail_media_contactlist_operation_response_attributes_attributes.py +297 -0
  62. criteo_api_retailmedia_preview/model/review_state_model.py +294 -0
  63. criteo_api_retailmedia_preview/model/{retail_media_externalv1_problem_details.py → rmca_common_problem.py} +41 -30
  64. criteo_api_retailmedia_preview/model/{retail_media_externalv1_set_bid_model.py → set_bid_model.py} +4 -10
  65. criteo_api_retailmedia_preview/model/set_bids_model.py +262 -0
  66. criteo_api_retailmedia_preview/model/set_bids_model_request.py +262 -0
  67. criteo_api_retailmedia_preview/model/set_bids_model_resource.py +270 -0
  68. criteo_api_retailmedia_preview/model/sync_attributed_transactions_report.py +12 -10
  69. criteo_api_retailmedia_preview/model/sync_campaigns_report.py +24 -13
  70. criteo_api_retailmedia_preview/model/sync_line_items_report.py +24 -13
  71. criteo_api_retailmedia_preview/models/__init__.py +58 -24
  72. {criteo_api_retailmedia_sdk-0.0.240404.dist-info → criteo_api_retailmedia_sdk-0.0.240515.dist-info}/METADATA +3 -3
  73. {criteo_api_retailmedia_sdk-0.0.240404.dist-info → criteo_api_retailmedia_sdk-0.0.240515.dist-info}/RECORD +75 -41
  74. criteo_api_retailmedia_preview/model/retail_media_externalv1_keywords_model_response.py +0 -285
  75. criteo_api_retailmedia_preview/model/retail_media_externalv1_proposal_status_model_response.py +0 -285
  76. {criteo_api_retailmedia_sdk-0.0.240404.dist-info → criteo_api_retailmedia_sdk-0.0.240515.dist-info}/WHEEL +0 -0
  77. {criteo_api_retailmedia_sdk-0.0.240404.dist-info → criteo_api_retailmedia_sdk-0.0.240515.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,269 @@
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
+
33
+ class ProductMetadata(ModelNormal):
34
+ """NOTE: This class is auto generated by OpenAPI Generator.
35
+ Ref: https://openapi-generator.tech
36
+
37
+ Do not edit the class manually.
38
+
39
+ Attributes:
40
+ allowed_values (dict): The key is the tuple path to the attribute
41
+ and the for var_name this is (var_name,). The value is a dict
42
+ with a capitalized key describing the allowed value and an allowed
43
+ value. These dicts store the allowed enum values.
44
+ attribute_map (dict): The key is attribute name
45
+ and the value is json key in definition.
46
+ discriminator_value_class_map (dict): A dict to go from the discriminator
47
+ variable value to the discriminator class name.
48
+ validations (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
+ that stores validations for max_length, min_length, max_items,
51
+ min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum,
52
+ inclusive_minimum, and regex.
53
+ additional_properties_type (tuple): A tuple of classes accepted
54
+ as additional properties values.
55
+ """
56
+
57
+ allowed_values = {
58
+ }
59
+
60
+ validations = {
61
+ }
62
+
63
+ additional_properties_type = None
64
+
65
+ _nullable = False
66
+
67
+ @cached_property
68
+ def openapi_types():
69
+ """
70
+ This must be a method because a model may have properties that are
71
+ of type self, this must run after the class is loaded
72
+
73
+ Returns
74
+ openapi_types (dict): The key is attribute name
75
+ and the value is attribute type.
76
+ """
77
+ return {
78
+ 'offset': (int, none_type,), # noqa: E501
79
+ 'limit': (int, none_type,), # noqa: E501
80
+ 'count': (int, none_type,), # noqa: E501
81
+ 'response_count': (int, none_type,), # noqa: E501
82
+ }
83
+
84
+ @cached_property
85
+ def discriminator():
86
+ return None
87
+
88
+
89
+ attribute_map = {
90
+ 'offset': 'offset', # noqa: E501
91
+ 'limit': 'limit', # noqa: E501
92
+ 'count': 'count', # noqa: E501
93
+ 'response_count': 'responseCount', # noqa: E501
94
+ }
95
+
96
+ read_only_vars = {
97
+ }
98
+
99
+ _composed_schemas = {}
100
+
101
+ @classmethod
102
+ @convert_js_args_to_python_args
103
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
104
+ """ProductMetadata - a model defined in OpenAPI
105
+
106
+ Keyword Args:
107
+ _check_type (bool): if True, values for parameters in openapi_types
108
+ will be type checked and a TypeError will be
109
+ raised if the wrong type is input.
110
+ Defaults to True
111
+ _path_to_item (tuple/list): This is a list of keys or values to
112
+ drill down to the model in received_data
113
+ when deserializing a response
114
+ _spec_property_naming (bool): True if the variable names in the input data
115
+ are serialized names, as specified in the OpenAPI document.
116
+ False if the variable names in the input data
117
+ are pythonic names, e.g. snake case (default)
118
+ _configuration (Configuration): the instance to use when
119
+ deserializing a file_type parameter.
120
+ If passed, type conversion is attempted
121
+ If omitted no type conversion is done.
122
+ _visited_composed_classes (tuple): This stores a tuple of
123
+ classes that we have traveled through so that
124
+ if we see that class again we will not use its
125
+ discriminator again.
126
+ When traveling through a discriminator, the
127
+ composed schema that is
128
+ is traveled through is added to this set.
129
+ For example if Animal has a discriminator
130
+ petType and we pass in "Dog", and the class Dog
131
+ allOf includes Animal, we move through Animal
132
+ once using the discriminator, and pick Dog.
133
+ Then in Dog, we will make an instance of the
134
+ Animal class but this time we won't travel
135
+ through its discriminator because we passed in
136
+ _visited_composed_classes = (Animal,)
137
+ offset (int, none_type): Zero based offset of the first item in the response.. [optional] # noqa: E501
138
+ limit (int, none_type): Maximum number of items in the response.. [optional] # noqa: E501
139
+ count (int, none_type): Total number of items available.. [optional] # noqa: E501
140
+ response_count (int, none_type): Number of items in the response.. [optional] # noqa: E501
141
+ """
142
+
143
+ _check_type = kwargs.pop('_check_type', True)
144
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
145
+ _path_to_item = kwargs.pop('_path_to_item', ())
146
+ _configuration = kwargs.pop('_configuration', None)
147
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
148
+
149
+ self = super(OpenApiModel, cls).__new__(cls)
150
+
151
+ if args:
152
+ for arg in args:
153
+ if isinstance(arg, dict):
154
+ kwargs.update(arg)
155
+ else:
156
+ raise ApiTypeError(
157
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
158
+ args,
159
+ self.__class__.__name__,
160
+ ),
161
+ path_to_item=_path_to_item,
162
+ valid_classes=(self.__class__,),
163
+ )
164
+
165
+ self._data_store = {}
166
+ self._check_type = _check_type
167
+ self._spec_property_naming = _spec_property_naming
168
+ self._path_to_item = _path_to_item
169
+ self._configuration = _configuration
170
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
171
+
172
+ for var_name, var_value in kwargs.items():
173
+ if var_name not in self.attribute_map and \
174
+ self._configuration is not None and \
175
+ self._configuration.discard_unknown_keys and \
176
+ self.additional_properties_type is None:
177
+ # discard variable.
178
+ continue
179
+ setattr(self, var_name, var_value)
180
+ return self
181
+
182
+ required_properties = set([
183
+ '_data_store',
184
+ '_check_type',
185
+ '_spec_property_naming',
186
+ '_path_to_item',
187
+ '_configuration',
188
+ '_visited_composed_classes',
189
+ ])
190
+
191
+ @convert_js_args_to_python_args
192
+ def __init__(self, *args, **kwargs): # noqa: E501
193
+ """ProductMetadata - a model defined in OpenAPI
194
+
195
+ Keyword Args:
196
+ _check_type (bool): if True, values for parameters in openapi_types
197
+ will be type checked and a TypeError will be
198
+ raised if the wrong type is input.
199
+ Defaults to True
200
+ _path_to_item (tuple/list): This is a list of keys or values to
201
+ drill down to the model in received_data
202
+ when deserializing a response
203
+ _spec_property_naming (bool): True if the variable names in the input data
204
+ are serialized names, as specified in the OpenAPI document.
205
+ False if the variable names in the input data
206
+ are pythonic names, e.g. snake case (default)
207
+ _configuration (Configuration): the instance to use when
208
+ deserializing a file_type parameter.
209
+ If passed, type conversion is attempted
210
+ If omitted no type conversion is done.
211
+ _visited_composed_classes (tuple): This stores a tuple of
212
+ classes that we have traveled through so that
213
+ if we see that class again we will not use its
214
+ discriminator again.
215
+ When traveling through a discriminator, the
216
+ composed schema that is
217
+ is traveled through is added to this set.
218
+ For example if Animal has a discriminator
219
+ petType and we pass in "Dog", and the class Dog
220
+ allOf includes Animal, we move through Animal
221
+ once using the discriminator, and pick Dog.
222
+ Then in Dog, we will make an instance of the
223
+ Animal class but this time we won't travel
224
+ through its discriminator because we passed in
225
+ _visited_composed_classes = (Animal,)
226
+ offset (int, none_type): Zero based offset of the first item in the response.. [optional] # noqa: E501
227
+ limit (int, none_type): Maximum number of items in the response.. [optional] # noqa: E501
228
+ count (int, none_type): Total number of items available.. [optional] # noqa: E501
229
+ response_count (int, none_type): Number of items in the response.. [optional] # noqa: E501
230
+ """
231
+
232
+ _check_type = kwargs.pop('_check_type', True)
233
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
234
+ _path_to_item = kwargs.pop('_path_to_item', ())
235
+ _configuration = kwargs.pop('_configuration', None)
236
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
237
+
238
+ if args:
239
+ for arg in args:
240
+ if isinstance(arg, dict):
241
+ kwargs.update(arg)
242
+ else:
243
+ raise ApiTypeError(
244
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
245
+ args,
246
+ self.__class__.__name__,
247
+ ),
248
+ path_to_item=_path_to_item,
249
+ valid_classes=(self.__class__,),
250
+ )
251
+
252
+ self._data_store = {}
253
+ self._check_type = _check_type
254
+ self._spec_property_naming = _spec_property_naming
255
+ self._path_to_item = _path_to_item
256
+ self._configuration = _configuration
257
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
258
+
259
+ for var_name, var_value in kwargs.items():
260
+ if var_name not in self.attribute_map and \
261
+ self._configuration is not None and \
262
+ self._configuration.discard_unknown_keys and \
263
+ self.additional_properties_type is None:
264
+ # discard variable.
265
+ continue
266
+ setattr(self, var_name, var_value)
267
+ if var_name in self.read_only_vars:
268
+ raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate "
269
+ f"class with read only attributes.")
@@ -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.rmca_common_problem import RmcaCommonProblem
34
+ globals()['RmcaCommonProblem'] = RmcaCommonProblem
35
+
36
+
37
+ class ProductResourceOutcome(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
+ 'errors': ([RmcaCommonProblem], none_type,), # noqa: E501
84
+ 'warnings': ([RmcaCommonProblem], none_type,), # noqa: E501
85
+ }
86
+
87
+ @cached_property
88
+ def discriminator():
89
+ return None
90
+
91
+
92
+ attribute_map = {
93
+ 'errors': 'errors', # noqa: E501
94
+ 'warnings': 'warnings', # 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
+ """ProductResourceOutcome - 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
+ errors ([RmcaCommonProblem], none_type): [optional] # noqa: E501
139
+ warnings ([RmcaCommonProblem], none_type): [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
+ """ProductResourceOutcome - 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
+ errors ([RmcaCommonProblem], none_type): [optional] # noqa: E501
226
+ warnings ([RmcaCommonProblem], none_type): [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.")
@@ -30,11 +30,11 @@ from criteo_api_retailmedia_preview.exceptions import ApiAttributeError
30
30
 
31
31
 
32
32
  def lazy_import():
33
- from criteo_api_retailmedia_preview.model.retail_media_externalv1_add_remove_keyword_model import RetailMediaExternalv1AddRemoveKeywordModel
34
- globals()['RetailMediaExternalv1AddRemoveKeywordModel'] = RetailMediaExternalv1AddRemoveKeywordModel
33
+ from criteo_api_retailmedia_preview.model.line_item_product_status import LineItemProductStatus
34
+ globals()['LineItemProductStatus'] = LineItemProductStatus
35
35
 
36
36
 
37
- class RetailMediaExternalv1AddRemoveKeywordsModel(ModelNormal):
37
+ class PromotedProduct(ModelNormal):
38
38
  """NOTE: This class is auto generated by OpenAPI Generator.
39
39
  Ref: https://openapi-generator.tech
40
40
 
@@ -62,18 +62,9 @@ class RetailMediaExternalv1AddRemoveKeywordsModel(ModelNormal):
62
62
  }
63
63
 
64
64
  validations = {
65
- ('keywords',): {
66
- },
67
65
  }
68
66
 
69
- @cached_property
70
- def additional_properties_type():
71
- """
72
- This must be a method because a model may have properties that are
73
- of type self, this must run after the class is loaded
74
- """
75
- lazy_import()
76
- return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
67
+ additional_properties_type = None
77
68
 
78
69
  _nullable = False
79
70
 
@@ -89,7 +80,9 @@ class RetailMediaExternalv1AddRemoveKeywordsModel(ModelNormal):
89
80
  """
90
81
  lazy_import()
91
82
  return {
92
- 'keywords': ([RetailMediaExternalv1AddRemoveKeywordModel], none_type,), # noqa: E501
83
+ 'id': (str, none_type,), # noqa: E501
84
+ 'bid_override': (float, none_type,), # noqa: E501
85
+ 'status': (LineItemProductStatus,), # noqa: E501
93
86
  }
94
87
 
95
88
  @cached_property
@@ -98,7 +91,9 @@ class RetailMediaExternalv1AddRemoveKeywordsModel(ModelNormal):
98
91
 
99
92
 
100
93
  attribute_map = {
101
- 'keywords': 'keywords', # noqa: E501
94
+ 'id': 'id', # noqa: E501
95
+ 'bid_override': 'bidOverride', # noqa: E501
96
+ 'status': 'status', # noqa: E501
102
97
  }
103
98
 
104
99
  read_only_vars = {
@@ -109,7 +104,7 @@ class RetailMediaExternalv1AddRemoveKeywordsModel(ModelNormal):
109
104
  @classmethod
110
105
  @convert_js_args_to_python_args
111
106
  def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
112
- """RetailMediaExternalv1AddRemoveKeywordsModel - a model defined in OpenAPI
107
+ """PromotedProduct - a model defined in OpenAPI
113
108
 
114
109
  Keyword Args:
115
110
  _check_type (bool): if True, values for parameters in openapi_types
@@ -142,7 +137,9 @@ class RetailMediaExternalv1AddRemoveKeywordsModel(ModelNormal):
142
137
  Animal class but this time we won't travel
143
138
  through its discriminator because we passed in
144
139
  _visited_composed_classes = (Animal,)
145
- keywords ([RetailMediaExternalv1AddRemoveKeywordModel], none_type): [optional] # noqa: E501
140
+ id (str, none_type): A retailer defined SKU ID for the promoted product.. [optional] # noqa: E501
141
+ bid_override (float, none_type): The bid override for the promoted product for this line item. Ignored unless adding a product.. [optional] # noqa: E501
142
+ status (LineItemProductStatus): [optional] # noqa: E501
146
143
  """
147
144
 
148
145
  _check_type = kwargs.pop('_check_type', True)
@@ -195,7 +192,7 @@ class RetailMediaExternalv1AddRemoveKeywordsModel(ModelNormal):
195
192
 
196
193
  @convert_js_args_to_python_args
197
194
  def __init__(self, *args, **kwargs): # noqa: E501
198
- """RetailMediaExternalv1AddRemoveKeywordsModel - a model defined in OpenAPI
195
+ """PromotedProduct - a model defined in OpenAPI
199
196
 
200
197
  Keyword Args:
201
198
  _check_type (bool): if True, values for parameters in openapi_types
@@ -228,7 +225,9 @@ class RetailMediaExternalv1AddRemoveKeywordsModel(ModelNormal):
228
225
  Animal class but this time we won't travel
229
226
  through its discriminator because we passed in
230
227
  _visited_composed_classes = (Animal,)
231
- keywords ([RetailMediaExternalv1AddRemoveKeywordModel], none_type): [optional] # noqa: E501
228
+ id (str, none_type): A retailer defined SKU ID for the promoted product.. [optional] # noqa: E501
229
+ bid_override (float, none_type): The bid override for the promoted product for this line item. Ignored unless adding a product.. [optional] # noqa: E501
230
+ status (LineItemProductStatus): [optional] # noqa: E501
232
231
  """
233
232
 
234
233
  _check_type = kwargs.pop('_check_type', True)