criteo-api-retailmedia-sdk 0.0.251014__py3-none-any.whl → 0.0.251015__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 (22) hide show
  1. criteo_api_retailmedia_preview/__init__.py +1 -1
  2. criteo_api_retailmedia_preview/api/campaign_api.py +172 -24
  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/campaign_availability.py +3 -3
  6. criteo_api_retailmedia_preview/model/line_item_budget_cap_out_history.py +266 -0
  7. criteo_api_retailmedia_preview/model/line_item_budget_cap_out_history_capout_times.py +269 -0
  8. criteo_api_retailmedia_preview/model/line_item_budget_cap_out_history_request.py +278 -0
  9. criteo_api_retailmedia_preview/model/line_item_budget_cap_out_history_response.py +262 -0
  10. criteo_api_retailmedia_preview/model/page_type_combination.py +2 -2
  11. criteo_api_retailmedia_preview/model/sponsored_products_line_item.py +4 -3
  12. criteo_api_retailmedia_preview/model/sponsored_products_line_item_create_request_model.py +9 -10
  13. criteo_api_retailmedia_preview/model/sponsored_products_line_item_update_request_model.py +0 -1
  14. criteo_api_retailmedia_preview/model/value_resource_input_line_item_budget_cap_out_history_request.py +262 -0
  15. criteo_api_retailmedia_preview/model/value_resource_line_item_budget_cap_out_history_request.py +266 -0
  16. criteo_api_retailmedia_preview/model/value_resource_line_item_budget_cap_out_history_response.py +266 -0
  17. criteo_api_retailmedia_preview/model/value_resource_outcome_line_item_budget_cap_out_history_response.py +274 -0
  18. criteo_api_retailmedia_preview/models/__init__.py +8 -0
  19. {criteo_api_retailmedia_sdk-0.0.251014.dist-info → criteo_api_retailmedia_sdk-0.0.251015.dist-info}/METADATA +3 -3
  20. {criteo_api_retailmedia_sdk-0.0.251014.dist-info → criteo_api_retailmedia_sdk-0.0.251015.dist-info}/RECORD +22 -14
  21. {criteo_api_retailmedia_sdk-0.0.251014.dist-info → criteo_api_retailmedia_sdk-0.0.251015.dist-info}/WHEEL +0 -0
  22. {criteo_api_retailmedia_sdk-0.0.251014.dist-info → criteo_api_retailmedia_sdk-0.0.251015.dist-info}/top_level.txt +0 -0
@@ -8,7 +8,7 @@
8
8
  """
9
9
 
10
10
 
11
- __version__ = "0.0.251014"
11
+ __version__ = "0.0.251015"
12
12
 
13
13
  # import ApiClient
14
14
  from criteo_api_retailmedia_preview.api_client import ApiClient
@@ -55,6 +55,7 @@ from criteo_api_retailmedia_preview.model.sku_data_preview_list_response import
55
55
  from criteo_api_retailmedia_preview.model.sku_search_request_preview_request import SkuSearchRequestPreviewRequest
56
56
  from criteo_api_retailmedia_preview.model.value_resource_input_brand_id_search_request import ValueResourceInputBrandIdSearchRequest
57
57
  from criteo_api_retailmedia_preview.model.value_resource_input_categories_search_request_v1 import ValueResourceInputCategoriesSearchRequestV1
58
+ from criteo_api_retailmedia_preview.model.value_resource_input_line_item_budget_cap_out_history_request import ValueResourceInputLineItemBudgetCapOutHistoryRequest
58
59
  from criteo_api_retailmedia_preview.model.value_resource_input_of_brand_catalog_request_v2 import ValueResourceInputOfBrandCatalogRequestV2
59
60
  from criteo_api_retailmedia_preview.model.value_resource_input_of_retailer_search_request import ValueResourceInputOfRetailerSearchRequest
60
61
  from criteo_api_retailmedia_preview.model.value_resource_input_of_seller_catalog_request_v2 import ValueResourceInputOfSellerCatalogRequestV2
@@ -63,6 +64,7 @@ from criteo_api_retailmedia_preview.model.value_resource_input_of_sponsored_prod
63
64
  from criteo_api_retailmedia_preview.model.value_resource_input_recommended_categories_request_v1 import ValueResourceInputRecommendedCategoriesRequestV1
64
65
  from criteo_api_retailmedia_preview.model.value_resource_input_recommended_keywords_request_v1 import ValueResourceInputRecommendedKeywordsRequestV1
65
66
  from criteo_api_retailmedia_preview.model.value_resource_input_retail_media_keywords_review import ValueResourceInputRetailMediaKeywordsReview
67
+ from criteo_api_retailmedia_preview.model.value_resource_outcome_line_item_budget_cap_out_history_response import ValueResourceOutcomeLineItemBudgetCapOutHistoryResponse
66
68
  from criteo_api_retailmedia_preview.model.value_resource_outcome_recommended_keywords_response_v1 import ValueResourceOutcomeRecommendedKeywordsResponseV1
67
69
  from criteo_api_retailmedia_preview.model.value_resource_outcome_retail_media_keywords_review_result import ValueResourceOutcomeRetailMediaKeywordsReviewResult
68
70
 
@@ -1023,9 +1025,9 @@ class CampaignApi(object):
1023
1025
  params_map={
1024
1026
  'all': [
1025
1027
  'campaign_id',
1026
- 'limit_to_id',
1027
- 'page_index',
1028
- 'page_size',
1028
+ 'limit',
1029
+ 'limit_to_ids',
1030
+ 'offset',
1029
1031
  ],
1030
1032
  'required': [
1031
1033
  'campaign_id',
@@ -1035,21 +1037,21 @@ class CampaignApi(object):
1035
1037
  'enum': [
1036
1038
  ],
1037
1039
  'validation': [
1038
- 'page_index',
1039
- 'page_size',
1040
+ 'limit',
1041
+ 'offset',
1040
1042
  ]
1041
1043
  },
1042
1044
  root_map={
1043
1045
  'validations': {
1044
- ('page_index',): {
1046
+ ('limit',): {
1045
1047
 
1046
- 'inclusive_maximum': 2147483647,
1047
- 'inclusive_minimum': 0,
1048
+ 'inclusive_maximum': 500,
1049
+ 'inclusive_minimum': 1,
1048
1050
  },
1049
- ('page_size',): {
1051
+ ('offset',): {
1050
1052
 
1051
1053
  'inclusive_maximum': 2147483647,
1052
- 'inclusive_minimum': 1,
1054
+ 'inclusive_minimum': 0,
1053
1055
  },
1054
1056
  },
1055
1057
  'allowed_values': {
@@ -1057,27 +1059,27 @@ class CampaignApi(object):
1057
1059
  'openapi_types': {
1058
1060
  'campaign_id':
1059
1061
  (str,),
1060
- 'limit_to_id':
1061
- ([str],),
1062
- 'page_index':
1062
+ 'limit':
1063
1063
  (int,),
1064
- 'page_size':
1064
+ 'limit_to_ids':
1065
+ ([str],),
1066
+ 'offset':
1065
1067
  (int,),
1066
1068
  },
1067
1069
  'attribute_map': {
1068
1070
  'campaign_id': 'campaignId',
1069
- 'limit_to_id': 'limitToId',
1070
- 'page_index': 'pageIndex',
1071
- 'page_size': 'pageSize',
1071
+ 'limit': 'limit',
1072
+ 'limit_to_ids': 'limitToIds',
1073
+ 'offset': 'offset',
1072
1074
  },
1073
1075
  'location_map': {
1074
1076
  'campaign_id': 'path',
1075
- 'limit_to_id': 'query',
1076
- 'page_index': 'query',
1077
- 'page_size': 'query',
1077
+ 'limit': 'query',
1078
+ 'limit_to_ids': 'query',
1079
+ 'offset': 'query',
1078
1080
  },
1079
1081
  'collection_format_map': {
1080
- 'limit_to_id': 'multi',
1082
+ 'limit_to_ids': 'multi',
1081
1083
  }
1082
1084
  },
1083
1085
  headers_map={
@@ -1088,6 +1090,65 @@ class CampaignApi(object):
1088
1090
  },
1089
1091
  api_client=api_client
1090
1092
  )
1093
+ self.get_capout_history_endpoint = _Endpoint(
1094
+ settings={
1095
+ 'response_type': (ValueResourceOutcomeLineItemBudgetCapOutHistoryResponse,),
1096
+ 'auth': [
1097
+ 'oauth',
1098
+ 'oauth'
1099
+ ],
1100
+ 'endpoint_path': '/preview/retail-media/accounts/{account-id}/line-items/cap-out-history',
1101
+ 'operation_id': 'get_capout_history',
1102
+ 'http_method': 'POST',
1103
+ 'servers': None,
1104
+ },
1105
+ params_map={
1106
+ 'all': [
1107
+ 'account_id',
1108
+ 'value_resource_input_line_item_budget_cap_out_history_request',
1109
+ ],
1110
+ 'required': [
1111
+ 'account_id',
1112
+ 'value_resource_input_line_item_budget_cap_out_history_request',
1113
+ ],
1114
+ 'nullable': [
1115
+ ],
1116
+ 'enum': [
1117
+ ],
1118
+ 'validation': [
1119
+ ]
1120
+ },
1121
+ root_map={
1122
+ 'validations': {
1123
+ },
1124
+ 'allowed_values': {
1125
+ },
1126
+ 'openapi_types': {
1127
+ 'account_id':
1128
+ (str,),
1129
+ 'value_resource_input_line_item_budget_cap_out_history_request':
1130
+ (ValueResourceInputLineItemBudgetCapOutHistoryRequest,),
1131
+ },
1132
+ 'attribute_map': {
1133
+ 'account_id': 'account-id',
1134
+ },
1135
+ 'location_map': {
1136
+ 'account_id': 'path',
1137
+ 'value_resource_input_line_item_budget_cap_out_history_request': 'body',
1138
+ },
1139
+ 'collection_format_map': {
1140
+ }
1141
+ },
1142
+ headers_map={
1143
+ 'accept': [
1144
+ 'application/json'
1145
+ ],
1146
+ 'content_type': [
1147
+ 'application/json'
1148
+ ]
1149
+ },
1150
+ api_client=api_client
1151
+ )
1091
1152
  self.get_creative_endpoint = _Endpoint(
1092
1153
  settings={
1093
1154
  'response_type': (Creative2Response,),
@@ -3978,9 +4039,9 @@ class CampaignApi(object):
3978
4039
  campaign_id (str): The id of the campaign
3979
4040
 
3980
4041
  Keyword Args:
3981
- limit_to_id ([str]): The ids that you would like to limit your result set to. [optional]
3982
- page_index (int): The 0 indexed page index you would like to receive given the page size. [optional] if omitted the server will use the default value of 0
3983
- page_size (int): The maximum number of items you would like to receive in this request. [optional] if omitted the server will use the default value of 25
4042
+ limit (int): The number of elements to be returned on a page.. [optional] if omitted the server will use the default value of 25
4043
+ limit_to_ids ([str]): The ids to limit the auction line item results to. [optional]
4044
+ offset (int): The (zero-based) starting offset into the collection.. [optional] if omitted the server will use the default value of 0
3984
4045
  _return_http_data_only (bool): response data without head status
3985
4046
  code and headers. Default is True.
3986
4047
  _preload_content (bool): if False, the urllib3.HTTPResponse object
@@ -4046,6 +4107,93 @@ class CampaignApi(object):
4046
4107
  campaign_id
4047
4108
  return self.get_auction_line_items_by_campaign_id_v2_endpoint.call_with_http_info(**kwargs)
4048
4109
 
4110
+ def get_capout_history(
4111
+ self,
4112
+ account_id,
4113
+ value_resource_input_line_item_budget_cap_out_history_request,
4114
+ **kwargs
4115
+ ):
4116
+ """get_capout_history # noqa: E501
4117
+
4118
+ Get the cap out history for line items # noqa: E501
4119
+ This method makes a synchronous HTTP request by default. To make an
4120
+ asynchronous HTTP request, please pass async_req=True
4121
+
4122
+ >>> thread = api.get_capout_history(account_id, value_resource_input_line_item_budget_cap_out_history_request, async_req=True)
4123
+ >>> result = thread.get()
4124
+
4125
+ Args:
4126
+ account_id (str): account id that own the lineitem
4127
+ value_resource_input_line_item_budget_cap_out_history_request (ValueResourceInputLineItemBudgetCapOutHistoryRequest): lineitem budgetcapout history object
4128
+
4129
+ Keyword Args:
4130
+ _return_http_data_only (bool): response data without head status
4131
+ code and headers. Default is True.
4132
+ _preload_content (bool): if False, the urllib3.HTTPResponse object
4133
+ will be returned without reading/decoding response data.
4134
+ Default is True.
4135
+ _request_timeout (int/float/tuple): timeout setting for this request. If
4136
+ one number provided, it will be total request timeout. It can also
4137
+ be a pair (tuple) of (connection, read) timeouts.
4138
+ Default is None.
4139
+ _check_input_type (bool): specifies if type checking
4140
+ should be done one the data sent to the server.
4141
+ Default is True.
4142
+ _check_return_type (bool): specifies if type checking
4143
+ should be done one the data received from the server.
4144
+ Default is True.
4145
+ _spec_property_naming (bool): True if the variable names in the input data
4146
+ are serialized names, as specified in the OpenAPI document.
4147
+ False if the variable names in the input data
4148
+ are pythonic names, e.g. snake case (default)
4149
+ _content_type (str/None): force body content-type.
4150
+ Default is None and content-type will be predicted by allowed
4151
+ content-types and body.
4152
+ _host_index (int/None): specifies the index of the server
4153
+ that we want to use.
4154
+ Default is read from the configuration.
4155
+ _request_auths (list): set to override the auth_settings for an a single
4156
+ request; this effectively ignores the authentication
4157
+ in the spec for a single request.
4158
+ Default is None
4159
+ async_req (bool): execute request asynchronously
4160
+
4161
+ Returns:
4162
+ ValueResourceOutcomeLineItemBudgetCapOutHistoryResponse
4163
+ If the method is called asynchronously, returns the request
4164
+ thread.
4165
+ """
4166
+ kwargs['async_req'] = kwargs.get(
4167
+ 'async_req', False
4168
+ )
4169
+ kwargs['_return_http_data_only'] = kwargs.get(
4170
+ '_return_http_data_only', True
4171
+ )
4172
+ kwargs['_preload_content'] = kwargs.get(
4173
+ '_preload_content', True
4174
+ )
4175
+ kwargs['_request_timeout'] = kwargs.get(
4176
+ '_request_timeout', None
4177
+ )
4178
+ kwargs['_check_input_type'] = kwargs.get(
4179
+ '_check_input_type', True
4180
+ )
4181
+ kwargs['_check_return_type'] = kwargs.get(
4182
+ '_check_return_type', True
4183
+ )
4184
+ kwargs['_spec_property_naming'] = kwargs.get(
4185
+ '_spec_property_naming', False
4186
+ )
4187
+ kwargs['_content_type'] = kwargs.get(
4188
+ '_content_type')
4189
+ kwargs['_host_index'] = kwargs.get('_host_index')
4190
+ kwargs['_request_auths'] = kwargs.get('_request_auths', None)
4191
+ kwargs['account_id'] = \
4192
+ account_id
4193
+ kwargs['value_resource_input_line_item_budget_cap_out_history_request'] = \
4194
+ value_resource_input_line_item_budget_cap_out_history_request
4195
+ return self.get_capout_history_endpoint.call_with_http_info(**kwargs)
4196
+
4049
4197
  def get_creative(
4050
4198
  self,
4051
4199
  account_id,
@@ -76,7 +76,7 @@ class ApiClient(object):
76
76
  self.default_headers[header_name] = header_value
77
77
  self.cookie = cookie
78
78
  # Set default User-Agent.
79
- self.user_agent = 'OpenAPI-Generator/0.0.251014/python'
79
+ self.user_agent = 'OpenAPI-Generator/0.0.251015/python'
80
80
 
81
81
  def __enter__(self):
82
82
  return self
@@ -395,7 +395,7 @@ class Configuration(object):
395
395
  "OS: {env}\n"\
396
396
  "Python Version: {pyversion}\n"\
397
397
  "Version of the API: Preview\n"\
398
- "SDK Package Version: 0.0.251014".\
398
+ "SDK Package Version: 0.0.251015".\
399
399
  format(env=sys.platform, pyversion=sys.version)
400
400
 
401
401
  def get_host_settings(self):
@@ -63,15 +63,15 @@ class CampaignAvailability(ModelNormal):
63
63
  'None': None,
64
64
  'UNKNOWN': "unknown",
65
65
  'AUCTION': "auction",
66
- 'PREFERREDDEALS': "preferreddeals",
66
+ 'PREFERREDDEALS': "preferredDeals",
67
67
  'SPONSORSHIP': "sponsorship",
68
68
  'OFFSITE': "offsite",
69
69
  },
70
70
  ('campaign_type',): {
71
71
  'None': None,
72
72
  'UNKNOWN': "unknown",
73
- 'SPONSOREDPRODUCTS': "sponsoredproducts",
74
- 'ONSITEDISPLAY': "onsitedisplay",
73
+ 'SPONSOREDPRODUCTS': "sponsoredProducts",
74
+ 'ONSITEDISPLAY': "onsiteDisplay",
75
75
  'OFFSITE': "offsite",
76
76
  },
77
77
  }
@@ -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.line_item_budget_cap_out_history_capout_times import LineItemBudgetCapOutHistoryCapoutTimes
34
+ globals()['LineItemBudgetCapOutHistoryCapoutTimes'] = LineItemBudgetCapOutHistoryCapoutTimes
35
+
36
+
37
+ class LineItemBudgetCapOutHistory(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
+ 'capout_times': (LineItemBudgetCapOutHistoryCapoutTimes,), # noqa: E501
84
+ 'line_item_id': (str, none_type,), # noqa: E501
85
+ }
86
+
87
+ @cached_property
88
+ def discriminator():
89
+ return None
90
+
91
+
92
+ attribute_map = {
93
+ 'capout_times': 'capoutTimes', # noqa: E501
94
+ 'line_item_id': 'lineItemId', # 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
+ """LineItemBudgetCapOutHistory - 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
+ capout_times (LineItemBudgetCapOutHistoryCapoutTimes): [optional] # noqa: E501
139
+ line_item_id (str, none_type): Line Item Id. [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
+ """LineItemBudgetCapOutHistory - 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
+ capout_times (LineItemBudgetCapOutHistoryCapoutTimes): [optional] # noqa: E501
226
+ line_item_id (str, none_type): Line Item Id. [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.")