windmill-api 1.448.1__py3-none-any.whl → 1.449.0__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 windmill-api might be problematic. Click here for more details.

Files changed (107) hide show
  1. windmill_api/api/postgres_trigger/__init__.py +0 -0
  2. windmill_api/api/postgres_trigger/create_postgres_publication.py +121 -0
  3. windmill_api/api/postgres_trigger/create_postgres_replication_slot.py +113 -0
  4. windmill_api/api/postgres_trigger/create_postgres_trigger.py +105 -0
  5. windmill_api/api/postgres_trigger/create_template_script.py +105 -0
  6. windmill_api/api/postgres_trigger/delete_postgres_publication.py +109 -0
  7. windmill_api/api/postgres_trigger/delete_postgres_replication_slot.py +113 -0
  8. windmill_api/api/postgres_trigger/delete_postgres_trigger.py +101 -0
  9. windmill_api/api/postgres_trigger/exists_postgres_trigger.py +160 -0
  10. windmill_api/api/postgres_trigger/get_postgres_publication.py +180 -0
  11. windmill_api/api/postgres_trigger/get_postgres_trigger.py +166 -0
  12. windmill_api/api/postgres_trigger/get_template_script.py +101 -0
  13. windmill_api/api/postgres_trigger/is_valid_postgres_configuration.py +160 -0
  14. windmill_api/api/postgres_trigger/list_postgres_publication.py +161 -0
  15. windmill_api/api/postgres_trigger/list_postgres_replication_slot.py +171 -0
  16. windmill_api/api/postgres_trigger/list_postgres_triggers.py +237 -0
  17. windmill_api/api/postgres_trigger/set_postgres_trigger_enabled.py +113 -0
  18. windmill_api/api/postgres_trigger/update_postgres_publication.py +121 -0
  19. windmill_api/api/postgres_trigger/update_postgres_trigger.py +113 -0
  20. windmill_api/api/teams/__init__.py +0 -0
  21. windmill_api/api/teams/sync_teams.py +131 -0
  22. windmill_api/api/workspace/update_operator_settings.py +109 -0
  23. windmill_api/models/add_granular_acls_kind.py +1 -0
  24. windmill_api/models/channel_info.py +80 -0
  25. windmill_api/models/create_postgres_publication_json_body.py +90 -0
  26. windmill_api/models/create_postgres_publication_json_body_table_to_track_item.py +86 -0
  27. windmill_api/models/create_postgres_publication_json_body_table_to_track_item_table_to_track_item.py +79 -0
  28. windmill_api/models/create_postgres_replication_slot_json_body.py +58 -0
  29. windmill_api/models/create_postgres_trigger_json_body.py +125 -0
  30. windmill_api/models/create_postgres_trigger_json_body_publication.py +92 -0
  31. windmill_api/models/create_postgres_trigger_json_body_publication_table_to_track_item.py +86 -0
  32. windmill_api/models/create_postgres_trigger_json_body_publication_table_to_track_item_table_to_track_item.py +79 -0
  33. windmill_api/models/create_template_script_json_body.py +90 -0
  34. windmill_api/models/create_template_script_json_body_language.py +8 -0
  35. windmill_api/models/create_template_script_json_body_relations_item.py +86 -0
  36. windmill_api/models/create_template_script_json_body_relations_item_table_to_track_item.py +79 -0
  37. windmill_api/models/delete_postgres_replication_slot_json_body.py +58 -0
  38. windmill_api/models/edit_postgres_trigger.py +123 -0
  39. windmill_api/models/edit_postgres_trigger_publication.py +90 -0
  40. windmill_api/models/edit_postgres_trigger_publication_table_to_track_item.py +86 -0
  41. windmill_api/models/edit_postgres_trigger_publication_table_to_track_item_table_to_track_item.py +79 -0
  42. windmill_api/models/get_granular_acls_kind.py +1 -0
  43. windmill_api/models/get_http_trigger_response_200.py +36 -36
  44. windmill_api/models/get_postgres_publication_response_200.py +90 -0
  45. windmill_api/models/get_postgres_publication_response_200_table_to_track_item.py +86 -0
  46. windmill_api/models/get_postgres_publication_response_200_table_to_track_item_table_to_track_item.py +79 -0
  47. windmill_api/models/get_postgres_trigger_response_200.py +178 -0
  48. windmill_api/models/get_postgres_trigger_response_200_extra_perms.py +44 -0
  49. windmill_api/models/get_settings_response_200.py +19 -0
  50. windmill_api/models/get_settings_response_200_operator_settings.py +114 -0
  51. windmill_api/models/get_triggers_count_of_flow_response_200.py +8 -0
  52. windmill_api/models/get_triggers_count_of_script_response_200.py +8 -0
  53. windmill_api/models/get_used_triggers_response_200.py +7 -0
  54. windmill_api/models/get_websocket_trigger_response_200.py +37 -37
  55. windmill_api/models/http_trigger.py +36 -36
  56. windmill_api/models/language.py +8 -0
  57. windmill_api/models/list_http_triggers_response_200_item.py +36 -36
  58. windmill_api/models/list_postgres_replication_slot_response_200_item.py +66 -0
  59. windmill_api/models/list_postgres_triggers_response_200_item.py +182 -0
  60. windmill_api/models/list_postgres_triggers_response_200_item_extra_perms.py +44 -0
  61. windmill_api/models/list_user_workspaces_response_200_workspaces_item.py +32 -1
  62. windmill_api/models/list_user_workspaces_response_200_workspaces_item_operator_settings.py +114 -0
  63. windmill_api/models/list_websocket_triggers_response_200_item.py +37 -37
  64. windmill_api/models/new_postgres_trigger.py +125 -0
  65. windmill_api/models/new_postgres_trigger_publication.py +90 -0
  66. windmill_api/models/new_postgres_trigger_publication_table_to_track_item.py +86 -0
  67. windmill_api/models/new_postgres_trigger_publication_table_to_track_item_table_to_track_item.py +79 -0
  68. windmill_api/models/operator_settings.py +114 -0
  69. windmill_api/models/postgres_trigger.py +178 -0
  70. windmill_api/models/postgres_trigger_extra_perms.py +44 -0
  71. windmill_api/models/publication_data.py +86 -0
  72. windmill_api/models/publication_data_table_to_track_item.py +84 -0
  73. windmill_api/models/publication_data_table_to_track_item_table_to_track_item.py +79 -0
  74. windmill_api/models/relations.py +80 -0
  75. windmill_api/models/relations_table_to_track_item.py +79 -0
  76. windmill_api/models/remove_granular_acls_kind.py +1 -0
  77. windmill_api/models/script_lang.py +25 -0
  78. windmill_api/models/set_postgres_trigger_enabled_json_body.py +58 -0
  79. windmill_api/models/slot.py +58 -0
  80. windmill_api/models/slot_list.py +66 -0
  81. windmill_api/models/sync_teams_response_200_item.py +87 -0
  82. windmill_api/models/sync_teams_response_200_item_channels_item.py +80 -0
  83. windmill_api/models/table_to_track_item.py +79 -0
  84. windmill_api/models/team_info.py +87 -0
  85. windmill_api/models/team_info_channels_item.py +80 -0
  86. windmill_api/models/template_script.py +90 -0
  87. windmill_api/models/template_script_language.py +8 -0
  88. windmill_api/models/template_script_relations_item.py +82 -0
  89. windmill_api/models/template_script_relations_item_table_to_track_item.py +79 -0
  90. windmill_api/models/trigger_extra_property.py +95 -0
  91. windmill_api/models/trigger_extra_property_extra_perms.py +44 -0
  92. windmill_api/models/triggers_count.py +8 -0
  93. windmill_api/models/update_operator_settings_json_body.py +114 -0
  94. windmill_api/models/update_postgres_publication_json_body.py +90 -0
  95. windmill_api/models/update_postgres_publication_json_body_table_to_track_item.py +86 -0
  96. windmill_api/models/update_postgres_publication_json_body_table_to_track_item_table_to_track_item.py +79 -0
  97. windmill_api/models/update_postgres_trigger_json_body.py +123 -0
  98. windmill_api/models/update_postgres_trigger_json_body_publication.py +92 -0
  99. windmill_api/models/update_postgres_trigger_json_body_publication_table_to_track_item.py +86 -0
  100. windmill_api/models/update_postgres_trigger_json_body_publication_table_to_track_item_table_to_track_item.py +79 -0
  101. windmill_api/models/user_workspace_list_workspaces_item.py +30 -1
  102. windmill_api/models/user_workspace_list_workspaces_item_operator_settings.py +114 -0
  103. windmill_api/models/websocket_trigger.py +37 -37
  104. {windmill_api-1.448.1.dist-info → windmill_api-1.449.0.dist-info}/METADATA +1 -1
  105. {windmill_api-1.448.1.dist-info → windmill_api-1.449.0.dist-info}/RECORD +107 -20
  106. {windmill_api-1.448.1.dist-info → windmill_api-1.449.0.dist-info}/LICENSE +0 -0
  107. {windmill_api-1.448.1.dist-info → windmill_api-1.449.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,44 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="TriggerExtraPropertyExtraPerms")
7
+
8
+
9
+ @_attrs_define
10
+ class TriggerExtraPropertyExtraPerms:
11
+ """ """
12
+
13
+ additional_properties: Dict[str, bool] = _attrs_field(init=False, factory=dict)
14
+
15
+ def to_dict(self) -> Dict[str, Any]:
16
+ field_dict: Dict[str, Any] = {}
17
+ field_dict.update(self.additional_properties)
18
+ field_dict.update({})
19
+
20
+ return field_dict
21
+
22
+ @classmethod
23
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
24
+ d = src_dict.copy()
25
+ trigger_extra_property_extra_perms = cls()
26
+
27
+ trigger_extra_property_extra_perms.additional_properties = d
28
+ return trigger_extra_property_extra_perms
29
+
30
+ @property
31
+ def additional_keys(self) -> List[str]:
32
+ return list(self.additional_properties.keys())
33
+
34
+ def __getitem__(self, key: str) -> bool:
35
+ return self.additional_properties[key]
36
+
37
+ def __setitem__(self, key: str, value: bool) -> None:
38
+ self.additional_properties[key] = value
39
+
40
+ def __delitem__(self, key: str) -> None:
41
+ del self.additional_properties[key]
42
+
43
+ def __contains__(self, key: str) -> bool:
44
+ return key in self.additional_properties
@@ -22,6 +22,7 @@ class TriggersCount:
22
22
  webhook_count (Union[Unset, float]):
23
23
  email_count (Union[Unset, float]):
24
24
  websocket_count (Union[Unset, float]):
25
+ postgres_count (Union[Unset, float]):
25
26
  kafka_count (Union[Unset, float]):
26
27
  nats_count (Union[Unset, float]):
27
28
  """
@@ -32,6 +33,7 @@ class TriggersCount:
32
33
  webhook_count: Union[Unset, float] = UNSET
33
34
  email_count: Union[Unset, float] = UNSET
34
35
  websocket_count: Union[Unset, float] = UNSET
36
+ postgres_count: Union[Unset, float] = UNSET
35
37
  kafka_count: Union[Unset, float] = UNSET
36
38
  nats_count: Union[Unset, float] = UNSET
37
39
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
@@ -46,6 +48,7 @@ class TriggersCount:
46
48
  webhook_count = self.webhook_count
47
49
  email_count = self.email_count
48
50
  websocket_count = self.websocket_count
51
+ postgres_count = self.postgres_count
49
52
  kafka_count = self.kafka_count
50
53
  nats_count = self.nats_count
51
54
 
@@ -64,6 +67,8 @@ class TriggersCount:
64
67
  field_dict["email_count"] = email_count
65
68
  if websocket_count is not UNSET:
66
69
  field_dict["websocket_count"] = websocket_count
70
+ if postgres_count is not UNSET:
71
+ field_dict["postgres_count"] = postgres_count
67
72
  if kafka_count is not UNSET:
68
73
  field_dict["kafka_count"] = kafka_count
69
74
  if nats_count is not UNSET:
@@ -93,6 +98,8 @@ class TriggersCount:
93
98
 
94
99
  websocket_count = d.pop("websocket_count", UNSET)
95
100
 
101
+ postgres_count = d.pop("postgres_count", UNSET)
102
+
96
103
  kafka_count = d.pop("kafka_count", UNSET)
97
104
 
98
105
  nats_count = d.pop("nats_count", UNSET)
@@ -104,6 +111,7 @@ class TriggersCount:
104
111
  webhook_count=webhook_count,
105
112
  email_count=email_count,
106
113
  websocket_count=websocket_count,
114
+ postgres_count=postgres_count,
107
115
  kafka_count=kafka_count,
108
116
  nats_count=nats_count,
109
117
  )
@@ -0,0 +1,114 @@
1
+ from typing import Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="UpdateOperatorSettingsJsonBody")
7
+
8
+
9
+ @_attrs_define
10
+ class UpdateOperatorSettingsJsonBody:
11
+ """
12
+ Attributes:
13
+ runs (bool): Whether operators can view runs
14
+ schedules (bool): Whether operators can view schedules
15
+ resources (bool): Whether operators can view resources
16
+ variables (bool): Whether operators can view variables
17
+ audit_logs (bool): Whether operators can view audit logs
18
+ triggers (bool): Whether operators can view triggers
19
+ groups (bool): Whether operators can view groups page
20
+ folders (bool): Whether operators can view folders page
21
+ workers (bool): Whether operators can view workers page
22
+ """
23
+
24
+ runs: bool
25
+ schedules: bool
26
+ resources: bool
27
+ variables: bool
28
+ audit_logs: bool
29
+ triggers: bool
30
+ groups: bool
31
+ folders: bool
32
+ workers: bool
33
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
34
+
35
+ def to_dict(self) -> Dict[str, Any]:
36
+ runs = self.runs
37
+ schedules = self.schedules
38
+ resources = self.resources
39
+ variables = self.variables
40
+ audit_logs = self.audit_logs
41
+ triggers = self.triggers
42
+ groups = self.groups
43
+ folders = self.folders
44
+ workers = self.workers
45
+
46
+ field_dict: Dict[str, Any] = {}
47
+ field_dict.update(self.additional_properties)
48
+ field_dict.update(
49
+ {
50
+ "runs": runs,
51
+ "schedules": schedules,
52
+ "resources": resources,
53
+ "variables": variables,
54
+ "audit_logs": audit_logs,
55
+ "triggers": triggers,
56
+ "groups": groups,
57
+ "folders": folders,
58
+ "workers": workers,
59
+ }
60
+ )
61
+
62
+ return field_dict
63
+
64
+ @classmethod
65
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
66
+ d = src_dict.copy()
67
+ runs = d.pop("runs")
68
+
69
+ schedules = d.pop("schedules")
70
+
71
+ resources = d.pop("resources")
72
+
73
+ variables = d.pop("variables")
74
+
75
+ audit_logs = d.pop("audit_logs")
76
+
77
+ triggers = d.pop("triggers")
78
+
79
+ groups = d.pop("groups")
80
+
81
+ folders = d.pop("folders")
82
+
83
+ workers = d.pop("workers")
84
+
85
+ update_operator_settings_json_body = cls(
86
+ runs=runs,
87
+ schedules=schedules,
88
+ resources=resources,
89
+ variables=variables,
90
+ audit_logs=audit_logs,
91
+ triggers=triggers,
92
+ groups=groups,
93
+ folders=folders,
94
+ workers=workers,
95
+ )
96
+
97
+ update_operator_settings_json_body.additional_properties = d
98
+ return update_operator_settings_json_body
99
+
100
+ @property
101
+ def additional_keys(self) -> List[str]:
102
+ return list(self.additional_properties.keys())
103
+
104
+ def __getitem__(self, key: str) -> Any:
105
+ return self.additional_properties[key]
106
+
107
+ def __setitem__(self, key: str, value: Any) -> None:
108
+ self.additional_properties[key] = value
109
+
110
+ def __delitem__(self, key: str) -> None:
111
+ del self.additional_properties[key]
112
+
113
+ def __contains__(self, key: str) -> bool:
114
+ return key in self.additional_properties
@@ -0,0 +1,90 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.update_postgres_publication_json_body_table_to_track_item import (
10
+ UpdatePostgresPublicationJsonBodyTableToTrackItem,
11
+ )
12
+
13
+
14
+ T = TypeVar("T", bound="UpdatePostgresPublicationJsonBody")
15
+
16
+
17
+ @_attrs_define
18
+ class UpdatePostgresPublicationJsonBody:
19
+ """
20
+ Attributes:
21
+ transaction_to_track (List[str]):
22
+ table_to_track (Union[Unset, List['UpdatePostgresPublicationJsonBodyTableToTrackItem']]):
23
+ """
24
+
25
+ transaction_to_track: List[str]
26
+ table_to_track: Union[Unset, List["UpdatePostgresPublicationJsonBodyTableToTrackItem"]] = UNSET
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ transaction_to_track = self.transaction_to_track
31
+
32
+ table_to_track: Union[Unset, List[Dict[str, Any]]] = UNSET
33
+ if not isinstance(self.table_to_track, Unset):
34
+ table_to_track = []
35
+ for table_to_track_item_data in self.table_to_track:
36
+ table_to_track_item = table_to_track_item_data.to_dict()
37
+
38
+ table_to_track.append(table_to_track_item)
39
+
40
+ field_dict: Dict[str, Any] = {}
41
+ field_dict.update(self.additional_properties)
42
+ field_dict.update(
43
+ {
44
+ "transaction_to_track": transaction_to_track,
45
+ }
46
+ )
47
+ if table_to_track is not UNSET:
48
+ field_dict["table_to_track"] = table_to_track
49
+
50
+ return field_dict
51
+
52
+ @classmethod
53
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
54
+ from ..models.update_postgres_publication_json_body_table_to_track_item import (
55
+ UpdatePostgresPublicationJsonBodyTableToTrackItem,
56
+ )
57
+
58
+ d = src_dict.copy()
59
+ transaction_to_track = cast(List[str], d.pop("transaction_to_track"))
60
+
61
+ table_to_track = []
62
+ _table_to_track = d.pop("table_to_track", UNSET)
63
+ for table_to_track_item_data in _table_to_track or []:
64
+ table_to_track_item = UpdatePostgresPublicationJsonBodyTableToTrackItem.from_dict(table_to_track_item_data)
65
+
66
+ table_to_track.append(table_to_track_item)
67
+
68
+ update_postgres_publication_json_body = cls(
69
+ transaction_to_track=transaction_to_track,
70
+ table_to_track=table_to_track,
71
+ )
72
+
73
+ update_postgres_publication_json_body.additional_properties = d
74
+ return update_postgres_publication_json_body
75
+
76
+ @property
77
+ def additional_keys(self) -> List[str]:
78
+ return list(self.additional_properties.keys())
79
+
80
+ def __getitem__(self, key: str) -> Any:
81
+ return self.additional_properties[key]
82
+
83
+ def __setitem__(self, key: str, value: Any) -> None:
84
+ self.additional_properties[key] = value
85
+
86
+ def __delitem__(self, key: str) -> None:
87
+ del self.additional_properties[key]
88
+
89
+ def __contains__(self, key: str) -> bool:
90
+ return key in self.additional_properties
@@ -0,0 +1,86 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ if TYPE_CHECKING:
7
+ from ..models.update_postgres_publication_json_body_table_to_track_item_table_to_track_item import (
8
+ UpdatePostgresPublicationJsonBodyTableToTrackItemTableToTrackItem,
9
+ )
10
+
11
+
12
+ T = TypeVar("T", bound="UpdatePostgresPublicationJsonBodyTableToTrackItem")
13
+
14
+
15
+ @_attrs_define
16
+ class UpdatePostgresPublicationJsonBodyTableToTrackItem:
17
+ """
18
+ Attributes:
19
+ schema_name (str):
20
+ table_to_track (List['UpdatePostgresPublicationJsonBodyTableToTrackItemTableToTrackItem']):
21
+ """
22
+
23
+ schema_name: str
24
+ table_to_track: List["UpdatePostgresPublicationJsonBodyTableToTrackItemTableToTrackItem"]
25
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> Dict[str, Any]:
28
+ schema_name = self.schema_name
29
+ table_to_track = []
30
+ for table_to_track_item_data in self.table_to_track:
31
+ table_to_track_item = table_to_track_item_data.to_dict()
32
+
33
+ table_to_track.append(table_to_track_item)
34
+
35
+ field_dict: Dict[str, Any] = {}
36
+ field_dict.update(self.additional_properties)
37
+ field_dict.update(
38
+ {
39
+ "schema_name": schema_name,
40
+ "table_to_track": table_to_track,
41
+ }
42
+ )
43
+
44
+ return field_dict
45
+
46
+ @classmethod
47
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
48
+ from ..models.update_postgres_publication_json_body_table_to_track_item_table_to_track_item import (
49
+ UpdatePostgresPublicationJsonBodyTableToTrackItemTableToTrackItem,
50
+ )
51
+
52
+ d = src_dict.copy()
53
+ schema_name = d.pop("schema_name")
54
+
55
+ table_to_track = []
56
+ _table_to_track = d.pop("table_to_track")
57
+ for table_to_track_item_data in _table_to_track:
58
+ table_to_track_item = UpdatePostgresPublicationJsonBodyTableToTrackItemTableToTrackItem.from_dict(
59
+ table_to_track_item_data
60
+ )
61
+
62
+ table_to_track.append(table_to_track_item)
63
+
64
+ update_postgres_publication_json_body_table_to_track_item = cls(
65
+ schema_name=schema_name,
66
+ table_to_track=table_to_track,
67
+ )
68
+
69
+ update_postgres_publication_json_body_table_to_track_item.additional_properties = d
70
+ return update_postgres_publication_json_body_table_to_track_item
71
+
72
+ @property
73
+ def additional_keys(self) -> List[str]:
74
+ return list(self.additional_properties.keys())
75
+
76
+ def __getitem__(self, key: str) -> Any:
77
+ return self.additional_properties[key]
78
+
79
+ def __setitem__(self, key: str, value: Any) -> None:
80
+ self.additional_properties[key] = value
81
+
82
+ def __delitem__(self, key: str) -> None:
83
+ del self.additional_properties[key]
84
+
85
+ def __contains__(self, key: str) -> bool:
86
+ return key in self.additional_properties
@@ -0,0 +1,79 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ T = TypeVar("T", bound="UpdatePostgresPublicationJsonBodyTableToTrackItemTableToTrackItem")
9
+
10
+
11
+ @_attrs_define
12
+ class UpdatePostgresPublicationJsonBodyTableToTrackItemTableToTrackItem:
13
+ """
14
+ Attributes:
15
+ table_name (str):
16
+ columns_name (Union[Unset, List[str]]):
17
+ where_clause (Union[Unset, str]):
18
+ """
19
+
20
+ table_name: str
21
+ columns_name: Union[Unset, List[str]] = UNSET
22
+ where_clause: Union[Unset, str] = UNSET
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ table_name = self.table_name
27
+ columns_name: Union[Unset, List[str]] = UNSET
28
+ if not isinstance(self.columns_name, Unset):
29
+ columns_name = self.columns_name
30
+
31
+ where_clause = self.where_clause
32
+
33
+ field_dict: Dict[str, Any] = {}
34
+ field_dict.update(self.additional_properties)
35
+ field_dict.update(
36
+ {
37
+ "table_name": table_name,
38
+ }
39
+ )
40
+ if columns_name is not UNSET:
41
+ field_dict["columns_name"] = columns_name
42
+ if where_clause is not UNSET:
43
+ field_dict["where_clause"] = where_clause
44
+
45
+ return field_dict
46
+
47
+ @classmethod
48
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
49
+ d = src_dict.copy()
50
+ table_name = d.pop("table_name")
51
+
52
+ columns_name = cast(List[str], d.pop("columns_name", UNSET))
53
+
54
+ where_clause = d.pop("where_clause", UNSET)
55
+
56
+ update_postgres_publication_json_body_table_to_track_item_table_to_track_item = cls(
57
+ table_name=table_name,
58
+ columns_name=columns_name,
59
+ where_clause=where_clause,
60
+ )
61
+
62
+ update_postgres_publication_json_body_table_to_track_item_table_to_track_item.additional_properties = d
63
+ return update_postgres_publication_json_body_table_to_track_item_table_to_track_item
64
+
65
+ @property
66
+ def additional_keys(self) -> List[str]:
67
+ return list(self.additional_properties.keys())
68
+
69
+ def __getitem__(self, key: str) -> Any:
70
+ return self.additional_properties[key]
71
+
72
+ def __setitem__(self, key: str, value: Any) -> None:
73
+ self.additional_properties[key] = value
74
+
75
+ def __delitem__(self, key: str) -> None:
76
+ del self.additional_properties[key]
77
+
78
+ def __contains__(self, key: str) -> bool:
79
+ return key in self.additional_properties
@@ -0,0 +1,123 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.update_postgres_trigger_json_body_publication import UpdatePostgresTriggerJsonBodyPublication
10
+
11
+
12
+ T = TypeVar("T", bound="UpdatePostgresTriggerJsonBody")
13
+
14
+
15
+ @_attrs_define
16
+ class UpdatePostgresTriggerJsonBody:
17
+ """
18
+ Attributes:
19
+ replication_slot_name (str):
20
+ publication_name (str):
21
+ path (str):
22
+ script_path (str):
23
+ is_flow (bool):
24
+ enabled (bool):
25
+ postgres_resource_path (str):
26
+ publication (Union[Unset, UpdatePostgresTriggerJsonBodyPublication]):
27
+ """
28
+
29
+ replication_slot_name: str
30
+ publication_name: str
31
+ path: str
32
+ script_path: str
33
+ is_flow: bool
34
+ enabled: bool
35
+ postgres_resource_path: str
36
+ publication: Union[Unset, "UpdatePostgresTriggerJsonBodyPublication"] = UNSET
37
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
38
+
39
+ def to_dict(self) -> Dict[str, Any]:
40
+ replication_slot_name = self.replication_slot_name
41
+ publication_name = self.publication_name
42
+ path = self.path
43
+ script_path = self.script_path
44
+ is_flow = self.is_flow
45
+ enabled = self.enabled
46
+ postgres_resource_path = self.postgres_resource_path
47
+ publication: Union[Unset, Dict[str, Any]] = UNSET
48
+ if not isinstance(self.publication, Unset):
49
+ publication = self.publication.to_dict()
50
+
51
+ field_dict: Dict[str, Any] = {}
52
+ field_dict.update(self.additional_properties)
53
+ field_dict.update(
54
+ {
55
+ "replication_slot_name": replication_slot_name,
56
+ "publication_name": publication_name,
57
+ "path": path,
58
+ "script_path": script_path,
59
+ "is_flow": is_flow,
60
+ "enabled": enabled,
61
+ "postgres_resource_path": postgres_resource_path,
62
+ }
63
+ )
64
+ if publication is not UNSET:
65
+ field_dict["publication"] = publication
66
+
67
+ return field_dict
68
+
69
+ @classmethod
70
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
71
+ from ..models.update_postgres_trigger_json_body_publication import UpdatePostgresTriggerJsonBodyPublication
72
+
73
+ d = src_dict.copy()
74
+ replication_slot_name = d.pop("replication_slot_name")
75
+
76
+ publication_name = d.pop("publication_name")
77
+
78
+ path = d.pop("path")
79
+
80
+ script_path = d.pop("script_path")
81
+
82
+ is_flow = d.pop("is_flow")
83
+
84
+ enabled = d.pop("enabled")
85
+
86
+ postgres_resource_path = d.pop("postgres_resource_path")
87
+
88
+ _publication = d.pop("publication", UNSET)
89
+ publication: Union[Unset, UpdatePostgresTriggerJsonBodyPublication]
90
+ if isinstance(_publication, Unset):
91
+ publication = UNSET
92
+ else:
93
+ publication = UpdatePostgresTriggerJsonBodyPublication.from_dict(_publication)
94
+
95
+ update_postgres_trigger_json_body = cls(
96
+ replication_slot_name=replication_slot_name,
97
+ publication_name=publication_name,
98
+ path=path,
99
+ script_path=script_path,
100
+ is_flow=is_flow,
101
+ enabled=enabled,
102
+ postgres_resource_path=postgres_resource_path,
103
+ publication=publication,
104
+ )
105
+
106
+ update_postgres_trigger_json_body.additional_properties = d
107
+ return update_postgres_trigger_json_body
108
+
109
+ @property
110
+ def additional_keys(self) -> List[str]:
111
+ return list(self.additional_properties.keys())
112
+
113
+ def __getitem__(self, key: str) -> Any:
114
+ return self.additional_properties[key]
115
+
116
+ def __setitem__(self, key: str, value: Any) -> None:
117
+ self.additional_properties[key] = value
118
+
119
+ def __delitem__(self, key: str) -> None:
120
+ del self.additional_properties[key]
121
+
122
+ def __contains__(self, key: str) -> bool:
123
+ return key in self.additional_properties
@@ -0,0 +1,92 @@
1
+ from typing import TYPE_CHECKING, Any, Dict, List, Type, TypeVar, Union, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ from ..types import UNSET, Unset
7
+
8
+ if TYPE_CHECKING:
9
+ from ..models.update_postgres_trigger_json_body_publication_table_to_track_item import (
10
+ UpdatePostgresTriggerJsonBodyPublicationTableToTrackItem,
11
+ )
12
+
13
+
14
+ T = TypeVar("T", bound="UpdatePostgresTriggerJsonBodyPublication")
15
+
16
+
17
+ @_attrs_define
18
+ class UpdatePostgresTriggerJsonBodyPublication:
19
+ """
20
+ Attributes:
21
+ transaction_to_track (List[str]):
22
+ table_to_track (Union[Unset, List['UpdatePostgresTriggerJsonBodyPublicationTableToTrackItem']]):
23
+ """
24
+
25
+ transaction_to_track: List[str]
26
+ table_to_track: Union[Unset, List["UpdatePostgresTriggerJsonBodyPublicationTableToTrackItem"]] = UNSET
27
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
28
+
29
+ def to_dict(self) -> Dict[str, Any]:
30
+ transaction_to_track = self.transaction_to_track
31
+
32
+ table_to_track: Union[Unset, List[Dict[str, Any]]] = UNSET
33
+ if not isinstance(self.table_to_track, Unset):
34
+ table_to_track = []
35
+ for table_to_track_item_data in self.table_to_track:
36
+ table_to_track_item = table_to_track_item_data.to_dict()
37
+
38
+ table_to_track.append(table_to_track_item)
39
+
40
+ field_dict: Dict[str, Any] = {}
41
+ field_dict.update(self.additional_properties)
42
+ field_dict.update(
43
+ {
44
+ "transaction_to_track": transaction_to_track,
45
+ }
46
+ )
47
+ if table_to_track is not UNSET:
48
+ field_dict["table_to_track"] = table_to_track
49
+
50
+ return field_dict
51
+
52
+ @classmethod
53
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
54
+ from ..models.update_postgres_trigger_json_body_publication_table_to_track_item import (
55
+ UpdatePostgresTriggerJsonBodyPublicationTableToTrackItem,
56
+ )
57
+
58
+ d = src_dict.copy()
59
+ transaction_to_track = cast(List[str], d.pop("transaction_to_track"))
60
+
61
+ table_to_track = []
62
+ _table_to_track = d.pop("table_to_track", UNSET)
63
+ for table_to_track_item_data in _table_to_track or []:
64
+ table_to_track_item = UpdatePostgresTriggerJsonBodyPublicationTableToTrackItem.from_dict(
65
+ table_to_track_item_data
66
+ )
67
+
68
+ table_to_track.append(table_to_track_item)
69
+
70
+ update_postgres_trigger_json_body_publication = cls(
71
+ transaction_to_track=transaction_to_track,
72
+ table_to_track=table_to_track,
73
+ )
74
+
75
+ update_postgres_trigger_json_body_publication.additional_properties = d
76
+ return update_postgres_trigger_json_body_publication
77
+
78
+ @property
79
+ def additional_keys(self) -> List[str]:
80
+ return list(self.additional_properties.keys())
81
+
82
+ def __getitem__(self, key: str) -> Any:
83
+ return self.additional_properties[key]
84
+
85
+ def __setitem__(self, key: str, value: Any) -> None:
86
+ self.additional_properties[key] = value
87
+
88
+ def __delitem__(self, key: str) -> None:
89
+ del self.additional_properties[key]
90
+
91
+ def __contains__(self, key: str) -> bool:
92
+ return key in self.additional_properties