criteo-api-marketingsolutions-sdk 2025.1.0.250218__py3-none-any.whl → 2025.1.0.250317__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-marketingsolutions-sdk might be problematic. Click here for more details.

Files changed (128) hide show
  1. {criteo_api_marketingsolutions_sdk-2025.1.0.250218.dist-info → criteo_api_marketingsolutions_sdk-2025.1.0.250317.dist-info}/METADATA +3 -3
  2. {criteo_api_marketingsolutions_sdk-2025.1.0.250218.dist-info → criteo_api_marketingsolutions_sdk-2025.1.0.250317.dist-info}/RECORD +128 -124
  3. {criteo_api_marketingsolutions_sdk-2025.1.0.250218.dist-info → criteo_api_marketingsolutions_sdk-2025.1.0.250317.dist-info}/WHEEL +1 -1
  4. criteo_api_marketingsolutions_v2025_01/__init__.py +1 -1
  5. criteo_api_marketingsolutions_v2025_01/api_client.py +1 -1
  6. criteo_api_marketingsolutions_v2025_01/configuration.py +1 -1
  7. criteo_api_marketingsolutions_v2025_01/model/ad.py +1 -1
  8. criteo_api_marketingsolutions_v2025_01/model/ad_set_audience_link_entity_v1.py +1 -1
  9. criteo_api_marketingsolutions_v2025_01/model/ad_set_audience_link_entity_v1_resource.py +1 -1
  10. criteo_api_marketingsolutions_v2025_01/model/ad_set_category_bid.py +1 -1
  11. criteo_api_marketingsolutions_v2025_01/model/ad_set_delivery_limitations_v24_q1.py +1 -1
  12. criteo_api_marketingsolutions_v2025_01/model/ad_set_display_multiplier.py +1 -1
  13. criteo_api_marketingsolutions_v2025_01/model/ad_set_geo_location_v24_q1.py +1 -1
  14. criteo_api_marketingsolutions_v2025_01/model/ad_set_targeting_rule_v24_q1.py +3 -4
  15. criteo_api_marketingsolutions_v2025_01/model/ad_set_targeting_v24_q1.py +1 -1
  16. criteo_api_marketingsolutions_v2025_01/model/adaptive_attributes.py +1 -1
  17. criteo_api_marketingsolutions_v2025_01/model/algebra_node_v1.py +1 -1
  18. criteo_api_marketingsolutions_v2025_01/model/application_summary_model.py +1 -1
  19. criteo_api_marketingsolutions_v2025_01/model/application_summary_model_resource.py +1 -1
  20. criteo_api_marketingsolutions_v2025_01/model/audience_bulk_create_input_v1.py +3 -3
  21. criteo_api_marketingsolutions_v2025_01/model/audience_bulk_delete_input_v1.py +3 -3
  22. criteo_api_marketingsolutions_v2025_01/model/audience_bulk_update_input_v1.py +3 -3
  23. criteo_api_marketingsolutions_v2025_01/model/audience_compute_size_entity_v1_resource.py +6 -6
  24. criteo_api_marketingsolutions_v2025_01/model/audience_compute_sizes_input_v1.py +3 -3
  25. criteo_api_marketingsolutions_v2025_01/model/audience_create_entity_v1.py +3 -3
  26. criteo_api_marketingsolutions_v2025_01/model/audience_create_entity_v1_resource.py +3 -3
  27. criteo_api_marketingsolutions_v2025_01/model/audience_delete_entity_v1_resource.py +6 -6
  28. criteo_api_marketingsolutions_v2025_01/model/audience_entity_v1.py +1 -1
  29. criteo_api_marketingsolutions_v2025_01/model/audience_estimate_size_entity_v1_resource.py +3 -3
  30. criteo_api_marketingsolutions_v2025_01/model/audience_id_entity_v1_resource.py +3 -3
  31. criteo_api_marketingsolutions_v2025_01/model/audience_name_description.py +1 -1
  32. criteo_api_marketingsolutions_v2025_01/model/audience_search_entity_v1.py +12 -12
  33. criteo_api_marketingsolutions_v2025_01/model/audience_search_entity_v1_resource.py +3 -3
  34. criteo_api_marketingsolutions_v2025_01/model/audience_search_metadata_v1.py +1 -1
  35. criteo_api_marketingsolutions_v2025_01/model/audience_segment_bulk_create_input_v1.py +3 -3
  36. criteo_api_marketingsolutions_v2025_01/model/audience_segment_bulk_delete_input_v1.py +3 -3
  37. criteo_api_marketingsolutions_v2025_01/model/audience_segment_bulk_update_input_v1.py +3 -3
  38. criteo_api_marketingsolutions_v2025_01/model/audience_segment_compute_size_entity_v1_resource.py +6 -6
  39. criteo_api_marketingsolutions_v2025_01/model/audience_segment_compute_sizes_input_v1.py +3 -3
  40. criteo_api_marketingsolutions_v2025_01/model/audience_segment_create_entity_v1.py +3 -3
  41. criteo_api_marketingsolutions_v2025_01/model/audience_segment_create_entity_v1_resource.py +3 -3
  42. criteo_api_marketingsolutions_v2025_01/model/audience_segment_delete_entity_v1_resource.py +6 -6
  43. criteo_api_marketingsolutions_v2025_01/model/audience_segment_entity_v1.py +1 -1
  44. criteo_api_marketingsolutions_v2025_01/model/audience_segment_id_entity_v1_resource.py +3 -3
  45. criteo_api_marketingsolutions_v2025_01/model/audience_segment_search_entity_v1.py +9 -10
  46. criteo_api_marketingsolutions_v2025_01/model/audience_segment_search_entity_v1_resource.py +3 -3
  47. criteo_api_marketingsolutions_v2025_01/model/audience_segment_search_metadata_v1.py +1 -1
  48. criteo_api_marketingsolutions_v2025_01/model/audience_segment_size_entity_v1.py +1 -1
  49. criteo_api_marketingsolutions_v2025_01/model/audience_segment_size_estimation_entity_v1_resource.py +3 -3
  50. criteo_api_marketingsolutions_v2025_01/model/audience_segment_size_estimation_v1.py +1 -1
  51. criteo_api_marketingsolutions_v2025_01/model/audience_segment_size_estimation_v1_resource.py +1 -1
  52. criteo_api_marketingsolutions_v2025_01/model/audience_segment_update_entity_v1.py +3 -3
  53. criteo_api_marketingsolutions_v2025_01/model/audience_segment_update_entity_v1_resource.py +6 -6
  54. criteo_api_marketingsolutions_v2025_01/model/audience_size_entity_v1.py +1 -1
  55. criteo_api_marketingsolutions_v2025_01/model/audience_size_estimation_v1.py +1 -1
  56. criteo_api_marketingsolutions_v2025_01/model/audience_size_estimation_v1_resource.py +1 -1
  57. criteo_api_marketingsolutions_v2025_01/model/audience_update_entity_v1.py +3 -3
  58. criteo_api_marketingsolutions_v2025_01/model/audience_update_entity_v1_resource.py +6 -6
  59. criteo_api_marketingsolutions_v2025_01/model/automated_budget_configuration.py +276 -0
  60. criteo_api_marketingsolutions_v2025_01/model/{campaign_budget_automation_v23_q1_automated_budget_configuration.py → automated_budget_configuration_v23_q1.py} +3 -3
  61. criteo_api_marketingsolutions_v2025_01/model/behavioral_v1.py +1 -1
  62. criteo_api_marketingsolutions_v2025_01/model/budget_automation.py +273 -0
  63. criteo_api_marketingsolutions_v2025_01/model/budget_automation_configuration.py +276 -0
  64. criteo_api_marketingsolutions_v2025_01/model/campaign_budget_automation_v23_q1.py +6 -6
  65. criteo_api_marketingsolutions_v2025_01/model/campaign_spend_limit_v23_q1.py +1 -1
  66. criteo_api_marketingsolutions_v2025_01/model/campaign_v23_q1.py +1 -1
  67. criteo_api_marketingsolutions_v2025_01/model/campaign_v23_q1_resource.py +1 -1
  68. criteo_api_marketingsolutions_v2025_01/model/contact_list_statistics_entity_v1.py +1 -1
  69. criteo_api_marketingsolutions_v2025_01/model/contact_list_statistics_entity_v1_resource.py +1 -1
  70. criteo_api_marketingsolutions_v2025_01/model/contact_list_v1.py +1 -1
  71. criteo_api_marketingsolutions_v2025_01/model/contactlist_amendment_attributes.py +6 -7
  72. criteo_api_marketingsolutions_v2025_01/model/coupon.py +1 -1
  73. criteo_api_marketingsolutions_v2025_01/model/coupon_supported_sizes.py +1 -1
  74. criteo_api_marketingsolutions_v2025_01/model/create_ad_set_budget_v24_q1.py +9 -12
  75. criteo_api_marketingsolutions_v2025_01/model/create_ad_set_v24_q1_resource.py +3 -3
  76. criteo_api_marketingsolutions_v2025_01/model/create_campaign.py +6 -0
  77. criteo_api_marketingsolutions_v2025_01/model/create_campaign_resource.py +3 -3
  78. criteo_api_marketingsolutions_v2025_01/model/create_campaign_spend_limit.py +3 -4
  79. criteo_api_marketingsolutions_v2025_01/model/create_image_slide.py +6 -6
  80. criteo_api_marketingsolutions_v2025_01/model/creative.py +1 -1
  81. criteo_api_marketingsolutions_v2025_01/model/dynamic_attributes.py +1 -1
  82. criteo_api_marketingsolutions_v2025_01/model/html_tag_attributes.py +1 -1
  83. criteo_api_marketingsolutions_v2025_01/model/image_attributes.py +1 -1
  84. criteo_api_marketingsolutions_v2025_01/model/in_market_audience_segment_brand_entity_v1.py +1 -1
  85. criteo_api_marketingsolutions_v2025_01/model/in_market_audience_segment_interest_entity_v1.py +1 -1
  86. criteo_api_marketingsolutions_v2025_01/model/in_market_create_v1.py +15 -18
  87. criteo_api_marketingsolutions_v2025_01/model/in_market_size_estimation_v1.py +15 -18
  88. criteo_api_marketingsolutions_v2025_01/model/in_market_update_v1.py +15 -17
  89. criteo_api_marketingsolutions_v2025_01/model/in_market_v1.py +1 -1
  90. criteo_api_marketingsolutions_v2025_01/model/location_update_v1.py +9 -10
  91. criteo_api_marketingsolutions_v2025_01/model/location_v1.py +1 -1
  92. criteo_api_marketingsolutions_v2025_01/model/lookalike_create_v1.py +3 -3
  93. criteo_api_marketingsolutions_v2025_01/model/lookalike_update_v1.py +3 -3
  94. criteo_api_marketingsolutions_v2025_01/model/lookalike_v1.py +1 -1
  95. criteo_api_marketingsolutions_v2025_01/model/nillable_ad_set_targeting_rule_v24_q1.py +1 -1
  96. criteo_api_marketingsolutions_v2025_01/model/nillable_ad_set_targeting_rule_v24_q1_value.py +3 -4
  97. criteo_api_marketingsolutions_v2025_01/model/nillable_date_time.py +1 -1
  98. criteo_api_marketingsolutions_v2025_01/model/nillable_gender_v1.py +1 -1
  99. criteo_api_marketingsolutions_v2025_01/model/nillable_int32.py +1 -1
  100. criteo_api_marketingsolutions_v2025_01/model/nillable_string.py +1 -1
  101. criteo_api_marketingsolutions_v2025_01/model/patch_ad_set_category_bid.py +3 -3
  102. criteo_api_marketingsolutions_v2025_01/model/patch_ad_set_category_bid_resource.py +6 -6
  103. criteo_api_marketingsolutions_v2025_01/model/patch_ad_set_display_multiplier.py +3 -3
  104. criteo_api_marketingsolutions_v2025_01/model/patch_ad_set_display_multiplier_resource.py +6 -6
  105. criteo_api_marketingsolutions_v2025_01/model/patch_campaign.py +6 -0
  106. criteo_api_marketingsolutions_v2025_01/model/patch_marketing_campaign_budget_automation.py +273 -0
  107. criteo_api_marketingsolutions_v2025_01/model/placements_report_query_message.py +3 -3
  108. criteo_api_marketingsolutions_v2025_01/model/portfolio_message.py +1 -1
  109. criteo_api_marketingsolutions_v2025_01/model/prospecting_create_v1.py +6 -6
  110. criteo_api_marketingsolutions_v2025_01/model/prospecting_update_v1.py +3 -4
  111. criteo_api_marketingsolutions_v2025_01/model/prospecting_v1.py +1 -1
  112. criteo_api_marketingsolutions_v2025_01/model/read_ad_set_bidding_v24_q1.py +1 -1
  113. criteo_api_marketingsolutions_v2025_01/model/read_ad_set_budget_v24_q1.py +1 -1
  114. criteo_api_marketingsolutions_v2025_01/model/read_ad_set_schedule_v24_q1.py +1 -1
  115. criteo_api_marketingsolutions_v2025_01/model/read_ad_set_v24_q1.py +1 -1
  116. criteo_api_marketingsolutions_v2025_01/model/read_model_ad_set_id_v24_q1.py +3 -3
  117. criteo_api_marketingsolutions_v2025_01/model/read_model_read_ad_set_v24_q1.py +1 -1
  118. criteo_api_marketingsolutions_v2025_01/model/resource_of_ad.py +1 -1
  119. criteo_api_marketingsolutions_v2025_01/model/resource_of_coupon.py +1 -1
  120. criteo_api_marketingsolutions_v2025_01/model/resource_of_coupon_supported_sizes.py +1 -1
  121. criteo_api_marketingsolutions_v2025_01/model/resource_of_creative.py +1 -1
  122. criteo_api_marketingsolutions_v2025_01/model/retargeting_update_v1.py +9 -10
  123. criteo_api_marketingsolutions_v2025_01/model/retargeting_v1.py +1 -1
  124. criteo_api_marketingsolutions_v2025_01/model/size.py +1 -1
  125. criteo_api_marketingsolutions_v2025_01/model/transparency_query_message.py +3 -3
  126. criteo_api_marketingsolutions_v2025_01/model/transparency_report.py +1 -1
  127. criteo_api_marketingsolutions_v2025_01/models/__init__.py +5 -1
  128. {criteo_api_marketingsolutions_sdk-2025.1.0.250218.dist-info → criteo_api_marketingsolutions_sdk-2025.1.0.250317.dist-info}/top_level.txt +0 -0
@@ -82,8 +82,8 @@ class AudienceSegmentDeleteEntityV1Resource(ModelNormal):
82
82
  """
83
83
  return {
84
84
  'attributes': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
85
- 'id': (str, none_type,), # noqa: E501
86
- 'type': (str, none_type,), # noqa: E501
85
+ 'id': (str,), # noqa: E501
86
+ 'type': (str,), # noqa: E501
87
87
  }
88
88
 
89
89
  @cached_property
@@ -139,8 +139,8 @@ class AudienceSegmentDeleteEntityV1Resource(ModelNormal):
139
139
  through its discriminator because we passed in
140
140
  _visited_composed_classes = (Animal,)
141
141
  attributes ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Segment to delete. [optional] # noqa: E501
142
- id (str, none_type): Id of the entity. [optional] # noqa: E501
143
- type (str, none_type): [optional] # noqa: E501
142
+ id (str): Id of the entity. [optional] # noqa: E501
143
+ type (str): [optional] # noqa: E501
144
144
  """
145
145
 
146
146
  _check_type = kwargs.pop('_check_type', True)
@@ -227,8 +227,8 @@ class AudienceSegmentDeleteEntityV1Resource(ModelNormal):
227
227
  through its discriminator because we passed in
228
228
  _visited_composed_classes = (Animal,)
229
229
  attributes ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Segment to delete. [optional] # noqa: E501
230
- id (str, none_type): Id of the entity. [optional] # noqa: E501
231
- type (str, none_type): [optional] # noqa: E501
230
+ id (str): Id of the entity. [optional] # noqa: E501
231
+ type (str): [optional] # noqa: E501
232
232
  """
233
233
 
234
234
  _check_type = kwargs.pop('_check_type', True)
@@ -96,7 +96,7 @@ class AudienceSegmentEntityV1(ModelNormal):
96
96
  lazy_import()
97
97
  return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
98
98
 
99
- _nullable = False
99
+ _nullable = True
100
100
 
101
101
  @cached_property
102
102
  def openapi_types():
@@ -81,7 +81,7 @@ class AudienceSegmentIdEntityV1Resource(ModelNormal):
81
81
  and the value is attribute type.
82
82
  """
83
83
  return {
84
- 'attributes': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},), # noqa: E501
84
+ 'attributes': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type,), # noqa: E501
85
85
  'id': (str, none_type,), # noqa: E501
86
86
  'type': (str, none_type,), # noqa: E501
87
87
  }
@@ -138,7 +138,7 @@ class AudienceSegmentIdEntityV1Resource(ModelNormal):
138
138
  Animal class but this time we won't travel
139
139
  through its discriminator because we passed in
140
140
  _visited_composed_classes = (Animal,)
141
- attributes ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Audience Segment entity only with its ID. [optional] # noqa: E501
141
+ attributes ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type): Audience Segment entity only with its ID. [optional] # noqa: E501
142
142
  id (str, none_type): Id of the entity. [optional] # noqa: E501
143
143
  type (str, none_type): [optional] # noqa: E501
144
144
  """
@@ -226,7 +226,7 @@ class AudienceSegmentIdEntityV1Resource(ModelNormal):
226
226
  Animal class but this time we won't travel
227
227
  through its discriminator because we passed in
228
228
  _visited_composed_classes = (Animal,)
229
- attributes ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}): Audience Segment entity only with its ID. [optional] # noqa: E501
229
+ attributes ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type): Audience Segment entity only with its ID. [optional] # noqa: E501
230
230
  id (str, none_type): Id of the entity. [optional] # noqa: E501
231
231
  type (str, none_type): [optional] # noqa: E501
232
232
  """
@@ -56,7 +56,6 @@ class AudienceSegmentSearchEntityV1(ModelNormal):
56
56
 
57
57
  allowed_values = {
58
58
  ('audience_segment_types',): {
59
- 'None': None,
60
59
  'UNKNOWN': "Unknown",
61
60
  'INMARKET': "InMarket",
62
61
  'PROSPECTING': "Prospecting",
@@ -92,9 +91,9 @@ class AudienceSegmentSearchEntityV1(ModelNormal):
92
91
  and the value is attribute type.
93
92
  """
94
93
  return {
95
- 'audience_segment_ids': ([str], none_type,), # noqa: E501
96
- 'advertiser_ids': ([str], none_type,), # noqa: E501
97
- 'audience_segment_types': ([str], none_type,), # noqa: E501
94
+ 'audience_segment_ids': ([str],), # noqa: E501
95
+ 'advertiser_ids': ([str],), # noqa: E501
96
+ 'audience_segment_types': ([str],), # noqa: E501
98
97
  }
99
98
 
100
99
  @cached_property
@@ -149,9 +148,9 @@ class AudienceSegmentSearchEntityV1(ModelNormal):
149
148
  Animal class but this time we won't travel
150
149
  through its discriminator because we passed in
151
150
  _visited_composed_classes = (Animal,)
152
- audience_segment_ids ([str], none_type): List of segment ids. [optional] # noqa: E501
153
- advertiser_ids ([str], none_type): List of advertiser ids. [optional] # noqa: E501
154
- audience_segment_types ([str], none_type): List of segment types. [optional] # noqa: E501
151
+ audience_segment_ids ([str]): List of segment ids. [optional] # noqa: E501
152
+ advertiser_ids ([str]): List of advertiser ids. [optional] # noqa: E501
153
+ audience_segment_types ([str]): List of segment types. [optional] # noqa: E501
155
154
  """
156
155
 
157
156
  _check_type = kwargs.pop('_check_type', True)
@@ -237,9 +236,9 @@ class AudienceSegmentSearchEntityV1(ModelNormal):
237
236
  Animal class but this time we won't travel
238
237
  through its discriminator because we passed in
239
238
  _visited_composed_classes = (Animal,)
240
- audience_segment_ids ([str], none_type): List of segment ids. [optional] # noqa: E501
241
- advertiser_ids ([str], none_type): List of advertiser ids. [optional] # noqa: E501
242
- audience_segment_types ([str], none_type): List of segment types. [optional] # noqa: E501
239
+ audience_segment_ids ([str]): List of segment ids. [optional] # noqa: E501
240
+ advertiser_ids ([str]): List of advertiser ids. [optional] # noqa: E501
241
+ audience_segment_types ([str]): List of segment types. [optional] # noqa: E501
243
242
  """
244
243
 
245
244
  _check_type = kwargs.pop('_check_type', True)
@@ -87,7 +87,7 @@ class AudienceSegmentSearchEntityV1Resource(ModelNormal):
87
87
  """
88
88
  lazy_import()
89
89
  return {
90
- 'type': (str, none_type,), # noqa: E501
90
+ 'type': (str,), # noqa: E501
91
91
  'attributes': (AudienceSegmentSearchEntityV1,), # noqa: E501
92
92
  }
93
93
 
@@ -142,7 +142,7 @@ class AudienceSegmentSearchEntityV1Resource(ModelNormal):
142
142
  Animal class but this time we won't travel
143
143
  through its discriminator because we passed in
144
144
  _visited_composed_classes = (Animal,)
145
- type (str, none_type): [optional] # noqa: E501
145
+ type (str): [optional] # noqa: E501
146
146
  attributes (AudienceSegmentSearchEntityV1): [optional] # noqa: E501
147
147
  """
148
148
 
@@ -229,7 +229,7 @@ class AudienceSegmentSearchEntityV1Resource(ModelNormal):
229
229
  Animal class but this time we won't travel
230
230
  through its discriminator because we passed in
231
231
  _visited_composed_classes = (Animal,)
232
- type (str, none_type): [optional] # noqa: E501
232
+ type (str): [optional] # noqa: E501
233
233
  attributes (AudienceSegmentSearchEntityV1): [optional] # noqa: E501
234
234
  """
235
235
 
@@ -68,7 +68,7 @@ class AudienceSegmentSearchMetadataV1(ModelNormal):
68
68
  """
69
69
  return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
70
70
 
71
- _nullable = False
71
+ _nullable = True
72
72
 
73
73
  @cached_property
74
74
  def openapi_types():
@@ -68,7 +68,7 @@ class AudienceSegmentSizeEntityV1(ModelNormal):
68
68
  """
69
69
  return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
70
70
 
71
- _nullable = False
71
+ _nullable = True
72
72
 
73
73
  @cached_property
74
74
  def openapi_types():
@@ -87,7 +87,7 @@ class AudienceSegmentSizeEstimationEntityV1Resource(ModelNormal):
87
87
  """
88
88
  lazy_import()
89
89
  return {
90
- 'type': (str, none_type,), # noqa: E501
90
+ 'type': (str,), # noqa: E501
91
91
  'attributes': (AudienceSegmentSizeEstimationEntityV1,), # noqa: E501
92
92
  }
93
93
 
@@ -142,7 +142,7 @@ class AudienceSegmentSizeEstimationEntityV1Resource(ModelNormal):
142
142
  Animal class but this time we won't travel
143
143
  through its discriminator because we passed in
144
144
  _visited_composed_classes = (Animal,)
145
- type (str, none_type): [optional] # noqa: E501
145
+ type (str): [optional] # noqa: E501
146
146
  attributes (AudienceSegmentSizeEstimationEntityV1): [optional] # noqa: E501
147
147
  """
148
148
 
@@ -229,7 +229,7 @@ class AudienceSegmentSizeEstimationEntityV1Resource(ModelNormal):
229
229
  Animal class but this time we won't travel
230
230
  through its discriminator because we passed in
231
231
  _visited_composed_classes = (Animal,)
232
- type (str, none_type): [optional] # noqa: E501
232
+ type (str): [optional] # noqa: E501
233
233
  attributes (AudienceSegmentSizeEstimationEntityV1): [optional] # noqa: E501
234
234
  """
235
235
 
@@ -68,7 +68,7 @@ class AudienceSegmentSizeEstimationV1(ModelNormal):
68
68
  """
69
69
  return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
70
70
 
71
- _nullable = False
71
+ _nullable = True
72
72
 
73
73
  @cached_property
74
74
  def openapi_types():
@@ -73,7 +73,7 @@ class AudienceSegmentSizeEstimationV1Resource(ModelNormal):
73
73
  lazy_import()
74
74
  return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
75
75
 
76
- _nullable = False
76
+ _nullable = True
77
77
 
78
78
  @cached_property
79
79
  def openapi_types():
@@ -97,7 +97,7 @@ class AudienceSegmentUpdateEntityV1(ModelNormal):
97
97
  """
98
98
  lazy_import()
99
99
  return {
100
- 'name': (str, none_type,), # noqa: E501
100
+ 'name': (str,), # noqa: E501
101
101
  'description': (NillableString,), # noqa: E501
102
102
  'in_market': (InMarketUpdateV1,), # noqa: E501
103
103
  'location': (LocationUpdateV1,), # noqa: E501
@@ -162,7 +162,7 @@ class AudienceSegmentUpdateEntityV1(ModelNormal):
162
162
  Animal class but this time we won't travel
163
163
  through its discriminator because we passed in
164
164
  _visited_composed_classes = (Animal,)
165
- name (str, none_type): Name of the segment. [optional] # noqa: E501
165
+ name (str): Name of the segment. [optional] # noqa: E501
166
166
  description (NillableString): [optional] # noqa: E501
167
167
  in_market (InMarketUpdateV1): [optional] # noqa: E501
168
168
  location (LocationUpdateV1): [optional] # noqa: E501
@@ -254,7 +254,7 @@ class AudienceSegmentUpdateEntityV1(ModelNormal):
254
254
  Animal class but this time we won't travel
255
255
  through its discriminator because we passed in
256
256
  _visited_composed_classes = (Animal,)
257
- name (str, none_type): Name of the segment. [optional] # noqa: E501
257
+ name (str): Name of the segment. [optional] # noqa: E501
258
258
  description (NillableString): [optional] # noqa: E501
259
259
  in_market (InMarketUpdateV1): [optional] # noqa: E501
260
260
  location (LocationUpdateV1): [optional] # noqa: E501
@@ -88,8 +88,8 @@ class AudienceSegmentUpdateEntityV1Resource(ModelNormal):
88
88
  lazy_import()
89
89
  return {
90
90
  'attributes': (AudienceSegmentUpdateEntityV1,), # noqa: E501
91
- 'id': (str, none_type,), # noqa: E501
92
- 'type': (str, none_type,), # noqa: E501
91
+ 'id': (str,), # noqa: E501
92
+ 'type': (str,), # noqa: E501
93
93
  }
94
94
 
95
95
  @cached_property
@@ -145,8 +145,8 @@ class AudienceSegmentUpdateEntityV1Resource(ModelNormal):
145
145
  through its discriminator because we passed in
146
146
  _visited_composed_classes = (Animal,)
147
147
  attributes (AudienceSegmentUpdateEntityV1): [optional] # noqa: E501
148
- id (str, none_type): Id of the entity. [optional] # noqa: E501
149
- type (str, none_type): [optional] # noqa: E501
148
+ id (str): Id of the entity. [optional] # noqa: E501
149
+ type (str): [optional] # noqa: E501
150
150
  """
151
151
 
152
152
  _check_type = kwargs.pop('_check_type', True)
@@ -233,8 +233,8 @@ class AudienceSegmentUpdateEntityV1Resource(ModelNormal):
233
233
  through its discriminator because we passed in
234
234
  _visited_composed_classes = (Animal,)
235
235
  attributes (AudienceSegmentUpdateEntityV1): [optional] # noqa: E501
236
- id (str, none_type): Id of the entity. [optional] # noqa: E501
237
- type (str, none_type): [optional] # noqa: E501
236
+ id (str): Id of the entity. [optional] # noqa: E501
237
+ type (str): [optional] # noqa: E501
238
238
  """
239
239
 
240
240
  _check_type = kwargs.pop('_check_type', True)
@@ -68,7 +68,7 @@ class AudienceSizeEntityV1(ModelNormal):
68
68
  """
69
69
  return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
70
70
 
71
- _nullable = False
71
+ _nullable = True
72
72
 
73
73
  @cached_property
74
74
  def openapi_types():
@@ -68,7 +68,7 @@ class AudienceSizeEstimationV1(ModelNormal):
68
68
  """
69
69
  return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
70
70
 
71
- _nullable = False
71
+ _nullable = True
72
72
 
73
73
  @cached_property
74
74
  def openapi_types():
@@ -73,7 +73,7 @@ class AudienceSizeEstimationV1Resource(ModelNormal):
73
73
  lazy_import()
74
74
  return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
75
75
 
76
- _nullable = False
76
+ _nullable = True
77
77
 
78
78
  @cached_property
79
79
  def openapi_types():
@@ -89,7 +89,7 @@ class AudienceUpdateEntityV1(ModelNormal):
89
89
  """
90
90
  lazy_import()
91
91
  return {
92
- 'name': (str, none_type,), # noqa: E501
92
+ 'name': (str,), # noqa: E501
93
93
  'description': (NillableString,), # noqa: E501
94
94
  'algebra': (AlgebraNodeV1,), # noqa: E501
95
95
  }
@@ -146,7 +146,7 @@ class AudienceUpdateEntityV1(ModelNormal):
146
146
  Animal class but this time we won't travel
147
147
  through its discriminator because we passed in
148
148
  _visited_composed_classes = (Animal,)
149
- name (str, none_type): Name of the audience. [optional] # noqa: E501
149
+ name (str): Name of the audience. [optional] # noqa: E501
150
150
  description (NillableString): [optional] # noqa: E501
151
151
  algebra (AlgebraNodeV1): [optional] # noqa: E501
152
152
  """
@@ -234,7 +234,7 @@ class AudienceUpdateEntityV1(ModelNormal):
234
234
  Animal class but this time we won't travel
235
235
  through its discriminator because we passed in
236
236
  _visited_composed_classes = (Animal,)
237
- name (str, none_type): Name of the audience. [optional] # noqa: E501
237
+ name (str): Name of the audience. [optional] # noqa: E501
238
238
  description (NillableString): [optional] # noqa: E501
239
239
  algebra (AlgebraNodeV1): [optional] # noqa: E501
240
240
  """
@@ -88,8 +88,8 @@ class AudienceUpdateEntityV1Resource(ModelNormal):
88
88
  lazy_import()
89
89
  return {
90
90
  'attributes': (AudienceUpdateEntityV1,), # noqa: E501
91
- 'id': (str, none_type,), # noqa: E501
92
- 'type': (str, none_type,), # noqa: E501
91
+ 'id': (str,), # noqa: E501
92
+ 'type': (str,), # noqa: E501
93
93
  }
94
94
 
95
95
  @cached_property
@@ -145,8 +145,8 @@ class AudienceUpdateEntityV1Resource(ModelNormal):
145
145
  through its discriminator because we passed in
146
146
  _visited_composed_classes = (Animal,)
147
147
  attributes (AudienceUpdateEntityV1): [optional] # noqa: E501
148
- id (str, none_type): Id of the entity. [optional] # noqa: E501
149
- type (str, none_type): [optional] # noqa: E501
148
+ id (str): Id of the entity. [optional] # noqa: E501
149
+ type (str): [optional] # noqa: E501
150
150
  """
151
151
 
152
152
  _check_type = kwargs.pop('_check_type', True)
@@ -233,8 +233,8 @@ class AudienceUpdateEntityV1Resource(ModelNormal):
233
233
  through its discriminator because we passed in
234
234
  _visited_composed_classes = (Animal,)
235
235
  attributes (AudienceUpdateEntityV1): [optional] # noqa: E501
236
- id (str, none_type): Id of the entity. [optional] # noqa: E501
237
- type (str, none_type): [optional] # noqa: E501
236
+ id (str): Id of the entity. [optional] # noqa: E501
237
+ type (str): [optional] # noqa: E501
238
238
  """
239
239
 
240
240
  _check_type = kwargs.pop('_check_type', True)
@@ -0,0 +1,276 @@
1
+ """
2
+ Criteo API
3
+
4
+ Criteo API - MarketingSolutions # noqa: E501
5
+
6
+ The version of the OpenAPI document: 2025-01
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_marketingsolutions_v2025_01.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_marketingsolutions_v2025_01.exceptions import ApiAttributeError
30
+
31
+
32
+
33
+ class AutomatedBudgetConfiguration(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
+ ('objective',): {
59
+ 'CUSTOMACTION': "customAction",
60
+ 'CLICKS': "clicks",
61
+ 'CONVERSIONS': "conversions",
62
+ 'DISPLAYS': "displays",
63
+ 'APPPROMOTION': "appPromotion",
64
+ 'REVENUE': "revenue",
65
+ 'STORECONVERSIONS': "storeConversions",
66
+ 'VALUE': "value",
67
+ 'REACH': "reach",
68
+ 'VISITS': "visits",
69
+ 'VIDEOVIEWS': "videoViews",
70
+ },
71
+ }
72
+
73
+ validations = {
74
+ }
75
+
76
+ @cached_property
77
+ def additional_properties_type():
78
+ """
79
+ This must be a method because a model may have properties that are
80
+ of type self, this must run after the class is loaded
81
+ """
82
+ return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501
83
+
84
+ _nullable = True
85
+
86
+ @cached_property
87
+ def openapi_types():
88
+ """
89
+ This must be a method because a model may have properties that are
90
+ of type self, this must run after the class is loaded
91
+
92
+ Returns
93
+ openapi_types (dict): The key is attribute name
94
+ and the value is attribute type.
95
+ """
96
+ return {
97
+ 'objective': (str,), # noqa: E501
98
+ }
99
+
100
+ @cached_property
101
+ def discriminator():
102
+ return None
103
+
104
+
105
+ attribute_map = {
106
+ 'objective': 'objective', # noqa: E501
107
+ }
108
+
109
+ read_only_vars = {
110
+ }
111
+
112
+ _composed_schemas = {}
113
+
114
+ @classmethod
115
+ @convert_js_args_to_python_args
116
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
117
+ """AutomatedBudgetConfiguration - a model defined in OpenAPI
118
+
119
+ Keyword Args:
120
+ _check_type (bool): if True, values for parameters in openapi_types
121
+ will be type checked and a TypeError will be
122
+ raised if the wrong type is input.
123
+ Defaults to True
124
+ _path_to_item (tuple/list): This is a list of keys or values to
125
+ drill down to the model in received_data
126
+ when deserializing a response
127
+ _spec_property_naming (bool): True if the variable names in the input data
128
+ are serialized names, as specified in the OpenAPI document.
129
+ False if the variable names in the input data
130
+ are pythonic names, e.g. snake case (default)
131
+ _configuration (Configuration): the instance to use when
132
+ deserializing a file_type parameter.
133
+ If passed, type conversion is attempted
134
+ If omitted no type conversion is done.
135
+ _visited_composed_classes (tuple): This stores a tuple of
136
+ classes that we have traveled through so that
137
+ if we see that class again we will not use its
138
+ discriminator again.
139
+ When traveling through a discriminator, the
140
+ composed schema that is
141
+ is traveled through is added to this set.
142
+ For example if Animal has a discriminator
143
+ petType and we pass in "Dog", and the class Dog
144
+ allOf includes Animal, we move through Animal
145
+ once using the discriminator, and pick Dog.
146
+ Then in Dog, we will make an instance of the
147
+ Animal class but this time we won't travel
148
+ through its discriminator because we passed in
149
+ _visited_composed_classes = (Animal,)
150
+ objective (str): Objective of the ad set. [optional] # noqa: E501
151
+ """
152
+
153
+ _check_type = kwargs.pop('_check_type', True)
154
+ _spec_property_naming = kwargs.pop('_spec_property_naming', True)
155
+ _path_to_item = kwargs.pop('_path_to_item', ())
156
+ _configuration = kwargs.pop('_configuration', None)
157
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
158
+
159
+ self = super(OpenApiModel, cls).__new__(cls)
160
+
161
+ if args:
162
+ for arg in args:
163
+ if isinstance(arg, dict):
164
+ kwargs.update(arg)
165
+ else:
166
+ raise ApiTypeError(
167
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
168
+ args,
169
+ self.__class__.__name__,
170
+ ),
171
+ path_to_item=_path_to_item,
172
+ valid_classes=(self.__class__,),
173
+ )
174
+
175
+ self._data_store = {}
176
+ self._check_type = _check_type
177
+ self._spec_property_naming = _spec_property_naming
178
+ self._path_to_item = _path_to_item
179
+ self._configuration = _configuration
180
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
181
+
182
+ for var_name, var_value in kwargs.items():
183
+ if var_name not in self.attribute_map and \
184
+ self._configuration is not None and \
185
+ self._configuration.discard_unknown_keys and \
186
+ self.additional_properties_type is None:
187
+ # discard variable.
188
+ continue
189
+ setattr(self, var_name, var_value)
190
+ return self
191
+
192
+ required_properties = set([
193
+ '_data_store',
194
+ '_check_type',
195
+ '_spec_property_naming',
196
+ '_path_to_item',
197
+ '_configuration',
198
+ '_visited_composed_classes',
199
+ ])
200
+
201
+ @convert_js_args_to_python_args
202
+ def __init__(self, *args, **kwargs): # noqa: E501
203
+ """AutomatedBudgetConfiguration - a model defined in OpenAPI
204
+
205
+ Keyword Args:
206
+ _check_type (bool): if True, values for parameters in openapi_types
207
+ will be type checked and a TypeError will be
208
+ raised if the wrong type is input.
209
+ Defaults to True
210
+ _path_to_item (tuple/list): This is a list of keys or values to
211
+ drill down to the model in received_data
212
+ when deserializing a response
213
+ _spec_property_naming (bool): True if the variable names in the input data
214
+ are serialized names, as specified in the OpenAPI document.
215
+ False if the variable names in the input data
216
+ are pythonic names, e.g. snake case (default)
217
+ _configuration (Configuration): the instance to use when
218
+ deserializing a file_type parameter.
219
+ If passed, type conversion is attempted
220
+ If omitted no type conversion is done.
221
+ _visited_composed_classes (tuple): This stores a tuple of
222
+ classes that we have traveled through so that
223
+ if we see that class again we will not use its
224
+ discriminator again.
225
+ When traveling through a discriminator, the
226
+ composed schema that is
227
+ is traveled through is added to this set.
228
+ For example if Animal has a discriminator
229
+ petType and we pass in "Dog", and the class Dog
230
+ allOf includes Animal, we move through Animal
231
+ once using the discriminator, and pick Dog.
232
+ Then in Dog, we will make an instance of the
233
+ Animal class but this time we won't travel
234
+ through its discriminator because we passed in
235
+ _visited_composed_classes = (Animal,)
236
+ objective (str): Objective of the ad set. [optional] # noqa: E501
237
+ """
238
+
239
+ _check_type = kwargs.pop('_check_type', True)
240
+ _spec_property_naming = kwargs.pop('_spec_property_naming', False)
241
+ _path_to_item = kwargs.pop('_path_to_item', ())
242
+ _configuration = kwargs.pop('_configuration', None)
243
+ _visited_composed_classes = kwargs.pop('_visited_composed_classes', ())
244
+
245
+ if args:
246
+ for arg in args:
247
+ if isinstance(arg, dict):
248
+ kwargs.update(arg)
249
+ else:
250
+ raise ApiTypeError(
251
+ "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % (
252
+ args,
253
+ self.__class__.__name__,
254
+ ),
255
+ path_to_item=_path_to_item,
256
+ valid_classes=(self.__class__,),
257
+ )
258
+
259
+ self._data_store = {}
260
+ self._check_type = _check_type
261
+ self._spec_property_naming = _spec_property_naming
262
+ self._path_to_item = _path_to_item
263
+ self._configuration = _configuration
264
+ self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
265
+
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.")