Skip to content

prefect_hightouch.api_client.models.destination

Destination

Bases: BaseModel

The service receiving your data (e.g. Salesforce, Hubspot, Customer.io, or a SFTP server)

Attributes:
    configuration (DestinationConfiguration): The destination's configuration. This specifies general metadata about
        destination, like hostname and username.
        Hightouch will be using this configuration to connect to destination.

        The schema depends on the destination.

        Consumers should NOT make assumptions on the contents of the
        configuration. It may change as Hightouch updates its internal code.
    created_at (datetime.datetime): The timestamp when the destination was created
    id (str): The destination's id
    name (str): The destination's name
    slug (str): The destination's slug
    syncs (List[str]): A list of syncs that sync to this destination.
    type (str): The destination's type (e.g. salesforce or hubspot).
    updated_at (datetime.datetime): The timestamp when the destination was last updated
    workspace_id (str): The id of the workspace that the destination belongs to
Source code in prefect_hightouch/api_client/models/destination.py
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
class Destination(BaseModel):
    """The service receiving your data (e.g. Salesforce, Hubspot, Customer.io, or a
    SFTP server)

        Attributes:
            configuration (DestinationConfiguration): The destination's configuration. This specifies general metadata about
                destination, like hostname and username.
                Hightouch will be using this configuration to connect to destination.

                The schema depends on the destination.

                Consumers should NOT make assumptions on the contents of the
                configuration. It may change as Hightouch updates its internal code.
            created_at (datetime.datetime): The timestamp when the destination was created
            id (str): The destination's id
            name (str): The destination's name
            slug (str): The destination's slug
            syncs (List[str]): A list of syncs that sync to this destination.
            type (str): The destination's type (e.g. salesforce or hubspot).
            updated_at (datetime.datetime): The timestamp when the destination was last updated
            workspace_id (str): The id of the workspace that the destination belongs to
    """

    configuration: DestinationConfiguration = None
    created_at: datetime.datetime = None
    id: str = None
    name: str = None
    slug: str = None
    syncs: List[str] = None
    type: str = None
    updated_at: datetime.datetime = None
    workspace_id: str = None
    additional_properties: Dict[str, Any] = Field(default_factory=dict)

    def to_dict(self) -> Dict[str, Any]:
        configuration = self.configuration.to_dict()

        created_at = self.created_at.isoformat()

        id = self.id
        name = self.name
        slug = self.slug
        syncs = self.syncs

        type = self.type
        updated_at = self.updated_at.isoformat()

        workspace_id = self.workspace_id

        field_dict: Dict[str, Any] = {}
        field_dict.update(self.additional_properties)
        field_dict.update(
            {
                "configuration": configuration,
                "createdAt": created_at,
                "id": id,
                "name": name,
                "slug": slug,
                "syncs": syncs,
                "type": type,
                "updatedAt": updated_at,
                "workspaceId": workspace_id,
            }
        )

        return field_dict

    @classmethod
    def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
        if src_dict is None or src_dict is UNSET:
            return {}
        d = {k: v if v is not None else UNSET for k, v in src_dict.items()}
        configuration = DestinationConfiguration.from_dict(d.pop("configuration"))

        created_at = isoparse(d.pop("createdAt"))

        id = d.pop("id")

        name = d.pop("name")

        slug = d.pop("slug")

        syncs = cast(List[str], d.pop("syncs"))

        type = d.pop("type")

        updated_at = isoparse(d.pop("updatedAt"))

        workspace_id = d.pop("workspaceId")

        destination = cls(
            configuration=configuration,
            created_at=created_at,
            id=id,
            name=name,
            slug=slug,
            syncs=syncs,
            type=type,
            updated_at=updated_at,
            workspace_id=workspace_id,
        )

        destination.additional_properties = d
        return destination

    @property
    def additional_keys(self) -> List[str]:
        return list(self.additional_properties.keys())

    def __getitem__(self, key: str) -> Any:
        return self.additional_properties.get(key)

    def __setitem__(self, key: str, value: Any) -> None:
        self.additional_properties[key] = value

    def __delitem__(self, key: str) -> None:
        del self.additional_properties[key]

    def __contains__(self, key: str) -> bool:
        return key in self.additional_properties

additional_keys: List[str] property

additional_properties: Dict[str, Any] = Field(default_factory=dict) class-attribute instance-attribute

configuration: DestinationConfiguration = None class-attribute instance-attribute

created_at: datetime.datetime = None class-attribute instance-attribute

id: str = None class-attribute instance-attribute

name: str = None class-attribute instance-attribute

slug: str = None class-attribute instance-attribute

syncs: List[str] = None class-attribute instance-attribute

type: str = None class-attribute instance-attribute

updated_at: datetime.datetime = None class-attribute instance-attribute

workspace_id: str = None class-attribute instance-attribute

from_dict classmethod

Source code in prefect_hightouch/api_client/models/destination.py
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
@classmethod
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
    if src_dict is None or src_dict is UNSET:
        return {}
    d = {k: v if v is not None else UNSET for k, v in src_dict.items()}
    configuration = DestinationConfiguration.from_dict(d.pop("configuration"))

    created_at = isoparse(d.pop("createdAt"))

    id = d.pop("id")

    name = d.pop("name")

    slug = d.pop("slug")

    syncs = cast(List[str], d.pop("syncs"))

    type = d.pop("type")

    updated_at = isoparse(d.pop("updatedAt"))

    workspace_id = d.pop("workspaceId")

    destination = cls(
        configuration=configuration,
        created_at=created_at,
        id=id,
        name=name,
        slug=slug,
        syncs=syncs,
        type=type,
        updated_at=updated_at,
        workspace_id=workspace_id,
    )

    destination.additional_properties = d
    return destination

to_dict

Source code in prefect_hightouch/api_client/models/destination.py
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
def to_dict(self) -> Dict[str, Any]:
    configuration = self.configuration.to_dict()

    created_at = self.created_at.isoformat()

    id = self.id
    name = self.name
    slug = self.slug
    syncs = self.syncs

    type = self.type
    updated_at = self.updated_at.isoformat()

    workspace_id = self.workspace_id

    field_dict: Dict[str, Any] = {}
    field_dict.update(self.additional_properties)
    field_dict.update(
        {
            "configuration": configuration,
            "createdAt": created_at,
            "id": id,
            "name": name,
            "slug": slug,
            "syncs": syncs,
            "type": type,
            "updatedAt": updated_at,
            "workspaceId": workspace_id,
        }
    )

    return field_dict