Skip to content

prefect_hightouch.api_client.models.source

Source

Bases: BaseModel

The database or warehouse where your data is stored. The starting point for a Hightouch data pipeline.

Attributes:
    configuration (SourceConfiguration): The source's configuration. This specifies general metadata about sources,
        like connection details
        Hightouch will use this configuration to connect to underlying source.

        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 source was created
    id (str): The source's id
    name (str): The source's name
    slug (str): The source's slug
    type (str): The source's type (e.g. snowflake or postgres).
    updated_at (datetime.datetime): The timestamp when the source was last updated
    workspace_id (str): The id of the workspace that the source belongs to
Source code in prefect_hightouch/api_client/models/source.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
class Source(BaseModel):
    """The database or warehouse where your data is stored. The starting point for
    a Hightouch data pipeline.

        Attributes:
            configuration (SourceConfiguration): The source's configuration. This specifies general metadata about sources,
                like connection details
                Hightouch will use this configuration to connect to underlying source.

                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 source was created
            id (str): The source's id
            name (str): The source's name
            slug (str): The source's slug
            type (str): The source's type (e.g. snowflake or postgres).
            updated_at (datetime.datetime): The timestamp when the source was last updated
            workspace_id (str): The id of the workspace that the source belongs to
    """

    configuration: SourceConfiguration = None
    created_at: datetime.datetime = None
    id: str = None
    name: str = None
    slug: 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
        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,
                "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 = SourceConfiguration.from_dict(d.pop("configuration"))

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

        id = d.pop("id")

        name = d.pop("name")

        slug = d.pop("slug")

        type = d.pop("type")

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

        workspace_id = d.pop("workspaceId")

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

        source.additional_properties = d
        return source

    @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: SourceConfiguration = 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

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/source.py
 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
@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 = SourceConfiguration.from_dict(d.pop("configuration"))

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

    id = d.pop("id")

    name = d.pop("name")

    slug = d.pop("slug")

    type = d.pop("type")

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

    workspace_id = d.pop("workspaceId")

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

    source.additional_properties = d
    return source

to_dict

Source code in prefect_hightouch/api_client/models/source.py
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
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
    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,
            "type": type,
            "updatedAt": updated_at,
            "workspaceId": workspace_id,
        }
    )

    return field_dict