Skip to content

Commit 22fd18e

Browse files
author
APIs and Common Services team
committed
Automated SDK update
This updates the SDK from internal repo commit segmentio/public-api@61bd39f7.
1 parent 45c7b74 commit 22fd18e

6 files changed

Lines changed: 108 additions & 14 deletions

segment_public_api/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -391,6 +391,7 @@
391391
from segment_public_api.models.handle_webhook_output import HandleWebhookOutput
392392
from segment_public_api.models.hash_properties_configuration import HashPropertiesConfiguration
393393
from segment_public_api.models.id_sync_config import IDSyncConfig
394+
from segment_public_api.models.id_sync_configuration_input import IDSyncConfigurationInput
394395
from segment_public_api.models.id_sync_options import IDSyncOptions
395396
from segment_public_api.models.identify_source_settings_v1 import IdentifySourceSettingsV1
396397
from segment_public_api.models.insert_function_instance_alpha import InsertFunctionInstanceAlpha

segment_public_api/models/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,7 @@
344344
from segment_public_api.models.handle_webhook_output import HandleWebhookOutput
345345
from segment_public_api.models.hash_properties_configuration import HashPropertiesConfiguration
346346
from segment_public_api.models.id_sync_config import IDSyncConfig
347+
from segment_public_api.models.id_sync_configuration_input import IDSyncConfigurationInput
347348
from segment_public_api.models.id_sync_options import IDSyncOptions
348349
from segment_public_api.models.identify_source_settings_v1 import IdentifySourceSettingsV1
349350
from segment_public_api.models.insert_function_instance_alpha import InsertFunctionInstanceAlpha

segment_public_api/models/add_destination_to_audience_alpha_input.py

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,17 @@
1919
import json
2020

2121

22-
from typing import Any, Dict, Optional
23-
from pydantic import BaseModel, Field
22+
from typing import Any, List, Optional
23+
from pydantic import BaseModel, Field, conlist
2424
from segment_public_api.models.destination_input import DestinationInput
25+
from segment_public_api.models.id_sync_configuration_input import IDSyncConfigurationInput
2526

2627
class AddDestinationToAudienceAlphaInput(BaseModel):
2728
"""
2829
Input to Add a Destination into an Audience. # noqa: E501
2930
"""
3031
destination: DestinationInput = Field(...)
31-
id_sync_configuration: Optional[Dict[str, Any]] = Field(None, alias="idSyncConfiguration", description="The identifier sync configuration input.")
32+
id_sync_configuration: Optional[conlist(IDSyncConfigurationInput)] = Field(None, alias="idSyncConfiguration", description="Identifier sync configuration - array of external IDs to sync with their strategies. Maximum 5 items allowed.")
3233
connection_settings: Optional[Any] = Field(None, alias="connectionSettings", description="The settings that a Destination requires to create audiences on a third-party platform. These settings are Destination-specific and thus are best defined as unknown.")
3334
__properties = ["destination", "idSyncConfiguration", "connectionSettings"]
3435

@@ -59,6 +60,13 @@ def to_dict(self):
5960
# override the default output from pydantic by calling `to_dict()` of destination
6061
if self.destination:
6162
_dict['destination'] = self.destination.to_dict()
63+
# override the default output from pydantic by calling `to_dict()` of each item in id_sync_configuration (list)
64+
_items = []
65+
if self.id_sync_configuration:
66+
for _item in self.id_sync_configuration:
67+
if _item:
68+
_items.append(_item.to_dict())
69+
_dict['idSyncConfiguration'] = _items
6270
# set to None if connection_settings (nullable) is None
6371
# and __fields_set__ contains the field
6472
if self.connection_settings is None and "connection_settings" in self.__fields_set__:
@@ -77,7 +85,7 @@ def from_dict(cls, obj: dict) -> AddDestinationToAudienceAlphaInput:
7785

7886
_obj = AddDestinationToAudienceAlphaInput.parse_obj({
7987
"destination": DestinationInput.from_dict(obj.get("destination")) if obj.get("destination") is not None else None,
80-
"id_sync_configuration": obj.get("idSyncConfiguration"),
88+
"id_sync_configuration": [IDSyncConfigurationInput.from_dict(_item) for _item in obj.get("idSyncConfiguration")] if obj.get("idSyncConfiguration") is not None else None,
8189
"connection_settings": obj.get("connectionSettings")
8290
})
8391
return _obj

segment_public_api/models/add_destination_to_audience_alpha_output.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,18 @@
1919
import json
2020

2121

22-
23-
from pydantic import BaseModel, Field
22+
from typing import List
23+
from pydantic import BaseModel, Field, conlist
2424
from segment_public_api.models.connection import Connection
25+
from segment_public_api.models.id_sync_configuration_input import IDSyncConfigurationInput
2526

2627
class AddDestinationToAudienceAlphaOutput(BaseModel):
2728
"""
2829
AddDestinationToAudienceAlphaOutput
2930
"""
3031
connection: Connection = Field(...)
31-
__properties = ["connection"]
32+
id_sync_configuration: conlist(IDSyncConfigurationInput) = Field(..., alias="idSyncConfiguration", description="The id sync configuration for the Destination - array of external ids with their strategies.")
33+
__properties = ["connection", "idSyncConfiguration"]
3234

3335
class Config:
3436
"""Pydantic configuration"""
@@ -57,6 +59,13 @@ def to_dict(self):
5759
# override the default output from pydantic by calling `to_dict()` of connection
5860
if self.connection:
5961
_dict['connection'] = self.connection.to_dict()
62+
# override the default output from pydantic by calling `to_dict()` of each item in id_sync_configuration (list)
63+
_items = []
64+
if self.id_sync_configuration:
65+
for _item in self.id_sync_configuration:
66+
if _item:
67+
_items.append(_item.to_dict())
68+
_dict['idSyncConfiguration'] = _items
6069
return _dict
6170

6271
@classmethod
@@ -69,7 +78,8 @@ def from_dict(cls, obj: dict) -> AddDestinationToAudienceAlphaOutput:
6978
return AddDestinationToAudienceAlphaOutput.parse_obj(obj)
7079

7180
_obj = AddDestinationToAudienceAlphaOutput.parse_obj({
72-
"connection": Connection.from_dict(obj.get("connection")) if obj.get("connection") is not None else None
81+
"connection": Connection.from_dict(obj.get("connection")) if obj.get("connection") is not None else None,
82+
"id_sync_configuration": [IDSyncConfigurationInput.from_dict(_item) for _item in obj.get("idSyncConfiguration")] if obj.get("idSyncConfiguration") is not None else None
7383
})
7484
return _obj
7585

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# coding: utf-8
2+
3+
"""
4+
Segment Public API
5+
6+
The Segment Public API helps you manage your Segment Workspaces and its resources. You can use the API to perform CRUD (create, read, update, delete) operations at no extra charge. This includes working with resources such as Sources, Destinations, Warehouses, Tracking Plans, and the Segment Destinations and Sources Catalogs. All CRUD endpoints in the API follow REST conventions and use standard HTTP methods. Different URL endpoints represent different resources in a Workspace. See the next sections for more information on how to use the Segment Public API.
7+
8+
The version of the OpenAPI document: 61.1.4
9+
Contact: friends@segment.com
10+
Generated by OpenAPI Generator (https://openapi-generator.tech)
11+
12+
Do not edit the class manually.
13+
""" # noqa: E501
14+
15+
16+
from __future__ import annotations
17+
import pprint
18+
import re # noqa: F401
19+
import json
20+
21+
22+
23+
from pydantic import BaseModel, Field, StrictStr
24+
25+
class IDSyncConfigurationInput(BaseModel):
26+
"""
27+
The identifier sync configuration input. # noqa: E501
28+
"""
29+
external_id: StrictStr = Field(..., alias="externalId", description="The external id to sync, for example \"user_id\" or \"email\".")
30+
strategy: StrictStr = Field(..., description="The strategy for syncing this identifier. Valid values: \"first\", \"last\", \"all\".")
31+
__properties = ["externalId", "strategy"]
32+
33+
class Config:
34+
"""Pydantic configuration"""
35+
allow_population_by_field_name = True
36+
validate_assignment = True
37+
38+
def to_str(self) -> str:
39+
"""Returns the string representation of the model using alias"""
40+
return pprint.pformat(self.dict(by_alias=True))
41+
42+
def to_json(self) -> str:
43+
"""Returns the JSON representation of the model using alias"""
44+
return json.dumps(self.to_dict())
45+
46+
@classmethod
47+
def from_json(cls, json_str: str) -> IDSyncConfigurationInput:
48+
"""Create an instance of IDSyncConfigurationInput from a JSON string"""
49+
return cls.from_dict(json.loads(json_str))
50+
51+
def to_dict(self):
52+
"""Returns the dictionary representation of the model using alias"""
53+
_dict = self.dict(by_alias=True,
54+
exclude={
55+
},
56+
exclude_none=True)
57+
return _dict
58+
59+
@classmethod
60+
def from_dict(cls, obj: dict) -> IDSyncConfigurationInput:
61+
"""Create an instance of IDSyncConfigurationInput from a dict"""
62+
if obj is None:
63+
return None
64+
65+
if not isinstance(obj, dict):
66+
return IDSyncConfigurationInput.parse_obj(obj)
67+
68+
_obj = IDSyncConfigurationInput.parse_obj({
69+
"external_id": obj.get("externalId"),
70+
"strategy": obj.get("strategy")
71+
})
72+
return _obj
73+
74+

segment_public_api/models/simple_destination.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ class SimpleDestination(BaseModel):
3737
settings: Dict[str, Any] = Field(..., description="The Destination settings.")
3838
destination_id: StrictStr = Field(..., alias="destinationId", description="The Destination id.")
3939
metadata: Optional[Metadata] = None
40-
id_sync: Optional[IDSyncOptions] = Field(None, alias="idSync")
41-
__properties = ["id", "name", "sourceId", "enabled", "createdAt", "updatedAt", "settings", "destinationId", "metadata", "idSync"]
40+
id_sync_configuration: Optional[IDSyncOptions] = Field(None, alias="idSyncConfiguration")
41+
__properties = ["id", "name", "sourceId", "enabled", "createdAt", "updatedAt", "settings", "destinationId", "metadata", "idSyncConfiguration"]
4242

4343
class Config:
4444
"""Pydantic configuration"""
@@ -67,9 +67,9 @@ def to_dict(self):
6767
# override the default output from pydantic by calling `to_dict()` of metadata
6868
if self.metadata:
6969
_dict['metadata'] = self.metadata.to_dict()
70-
# override the default output from pydantic by calling `to_dict()` of id_sync
71-
if self.id_sync:
72-
_dict['idSync'] = self.id_sync.to_dict()
70+
# override the default output from pydantic by calling `to_dict()` of id_sync_configuration
71+
if self.id_sync_configuration:
72+
_dict['idSyncConfiguration'] = self.id_sync_configuration.to_dict()
7373
return _dict
7474

7575
@classmethod
@@ -91,7 +91,7 @@ def from_dict(cls, obj: dict) -> SimpleDestination:
9191
"settings": obj.get("settings"),
9292
"destination_id": obj.get("destinationId"),
9393
"metadata": Metadata.from_dict(obj.get("metadata")) if obj.get("metadata") is not None else None,
94-
"id_sync": IDSyncOptions.from_dict(obj.get("idSync")) if obj.get("idSync") is not None else None
94+
"id_sync_configuration": IDSyncOptions.from_dict(obj.get("idSyncConfiguration")) if obj.get("idSyncConfiguration") is not None else None
9595
})
9696
return _obj
9797

0 commit comments

Comments
 (0)