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,84 @@
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.publication_data_table_to_track_item_table_to_track_item import (
8
+ PublicationDataTableToTrackItemTableToTrackItem,
9
+ )
10
+
11
+
12
+ T = TypeVar("T", bound="PublicationDataTableToTrackItem")
13
+
14
+
15
+ @_attrs_define
16
+ class PublicationDataTableToTrackItem:
17
+ """
18
+ Attributes:
19
+ schema_name (str):
20
+ table_to_track (List['PublicationDataTableToTrackItemTableToTrackItem']):
21
+ """
22
+
23
+ schema_name: str
24
+ table_to_track: List["PublicationDataTableToTrackItemTableToTrackItem"]
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.publication_data_table_to_track_item_table_to_track_item import (
49
+ PublicationDataTableToTrackItemTableToTrackItem,
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 = PublicationDataTableToTrackItemTableToTrackItem.from_dict(table_to_track_item_data)
59
+
60
+ table_to_track.append(table_to_track_item)
61
+
62
+ publication_data_table_to_track_item = cls(
63
+ schema_name=schema_name,
64
+ table_to_track=table_to_track,
65
+ )
66
+
67
+ publication_data_table_to_track_item.additional_properties = d
68
+ return publication_data_table_to_track_item
69
+
70
+ @property
71
+ def additional_keys(self) -> List[str]:
72
+ return list(self.additional_properties.keys())
73
+
74
+ def __getitem__(self, key: str) -> Any:
75
+ return self.additional_properties[key]
76
+
77
+ def __setitem__(self, key: str, value: Any) -> None:
78
+ self.additional_properties[key] = value
79
+
80
+ def __delitem__(self, key: str) -> None:
81
+ del self.additional_properties[key]
82
+
83
+ def __contains__(self, key: str) -> bool:
84
+ 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="PublicationDataTableToTrackItemTableToTrackItem")
9
+
10
+
11
+ @_attrs_define
12
+ class PublicationDataTableToTrackItemTableToTrackItem:
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
+ publication_data_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
+ publication_data_table_to_track_item_table_to_track_item.additional_properties = d
63
+ return publication_data_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,80 @@
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.relations_table_to_track_item import RelationsTableToTrackItem
8
+
9
+
10
+ T = TypeVar("T", bound="Relations")
11
+
12
+
13
+ @_attrs_define
14
+ class Relations:
15
+ """
16
+ Attributes:
17
+ schema_name (str):
18
+ table_to_track (List['RelationsTableToTrackItem']):
19
+ """
20
+
21
+ schema_name: str
22
+ table_to_track: List["RelationsTableToTrackItem"]
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ schema_name = self.schema_name
27
+ table_to_track = []
28
+ for table_to_track_item_data in self.table_to_track:
29
+ table_to_track_item = table_to_track_item_data.to_dict()
30
+
31
+ table_to_track.append(table_to_track_item)
32
+
33
+ field_dict: Dict[str, Any] = {}
34
+ field_dict.update(self.additional_properties)
35
+ field_dict.update(
36
+ {
37
+ "schema_name": schema_name,
38
+ "table_to_track": table_to_track,
39
+ }
40
+ )
41
+
42
+ return field_dict
43
+
44
+ @classmethod
45
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
46
+ from ..models.relations_table_to_track_item import RelationsTableToTrackItem
47
+
48
+ d = src_dict.copy()
49
+ schema_name = d.pop("schema_name")
50
+
51
+ table_to_track = []
52
+ _table_to_track = d.pop("table_to_track")
53
+ for table_to_track_item_data in _table_to_track:
54
+ table_to_track_item = RelationsTableToTrackItem.from_dict(table_to_track_item_data)
55
+
56
+ table_to_track.append(table_to_track_item)
57
+
58
+ relations = cls(
59
+ schema_name=schema_name,
60
+ table_to_track=table_to_track,
61
+ )
62
+
63
+ relations.additional_properties = d
64
+ return relations
65
+
66
+ @property
67
+ def additional_keys(self) -> List[str]:
68
+ return list(self.additional_properties.keys())
69
+
70
+ def __getitem__(self, key: str) -> Any:
71
+ return self.additional_properties[key]
72
+
73
+ def __setitem__(self, key: str, value: Any) -> None:
74
+ self.additional_properties[key] = value
75
+
76
+ def __delitem__(self, key: str) -> None:
77
+ del self.additional_properties[key]
78
+
79
+ def __contains__(self, key: str) -> bool:
80
+ 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="RelationsTableToTrackItem")
9
+
10
+
11
+ @_attrs_define
12
+ class RelationsTableToTrackItem:
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
+ relations_table_to_track_item = cls(
57
+ table_name=table_name,
58
+ columns_name=columns_name,
59
+ where_clause=where_clause,
60
+ )
61
+
62
+ relations_table_to_track_item.additional_properties = d
63
+ return relations_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
@@ -9,6 +9,7 @@ class RemoveGranularAclsKind(str, Enum):
9
9
  HTTP_TRIGGER = "http_trigger"
10
10
  KAFKA_TRIGGER = "kafka_trigger"
11
11
  NATS_TRIGGER = "nats_trigger"
12
+ POSTGRES_TRIGGER = "postgres_trigger"
12
13
  RAW_APP = "raw_app"
13
14
  RESOURCE = "resource"
14
15
  SCHEDULE = "schedule"
@@ -0,0 +1,25 @@
1
+ from enum import Enum
2
+
3
+
4
+ class ScriptLang(str, Enum):
5
+ ANSIBLE = "ansible"
6
+ BASH = "bash"
7
+ BIGQUERY = "bigquery"
8
+ BUN = "bun"
9
+ CSHARP = "csharp"
10
+ DENO = "deno"
11
+ GO = "go"
12
+ GRAPHQL = "graphql"
13
+ MSSQL = "mssql"
14
+ MYSQL = "mysql"
15
+ NATIVETS = "nativets"
16
+ ORACLEDB = "oracledb"
17
+ PHP = "php"
18
+ POSTGRESQL = "postgresql"
19
+ POWERSHELL = "powershell"
20
+ PYTHON3 = "python3"
21
+ RUST = "rust"
22
+ SNOWFLAKE = "snowflake"
23
+
24
+ def __str__(self) -> str:
25
+ return str(self.value)
@@ -0,0 +1,58 @@
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="SetPostgresTriggerEnabledJsonBody")
7
+
8
+
9
+ @_attrs_define
10
+ class SetPostgresTriggerEnabledJsonBody:
11
+ """
12
+ Attributes:
13
+ enabled (bool):
14
+ """
15
+
16
+ enabled: bool
17
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
18
+
19
+ def to_dict(self) -> Dict[str, Any]:
20
+ enabled = self.enabled
21
+
22
+ field_dict: Dict[str, Any] = {}
23
+ field_dict.update(self.additional_properties)
24
+ field_dict.update(
25
+ {
26
+ "enabled": enabled,
27
+ }
28
+ )
29
+
30
+ return field_dict
31
+
32
+ @classmethod
33
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
34
+ d = src_dict.copy()
35
+ enabled = d.pop("enabled")
36
+
37
+ set_postgres_trigger_enabled_json_body = cls(
38
+ enabled=enabled,
39
+ )
40
+
41
+ set_postgres_trigger_enabled_json_body.additional_properties = d
42
+ return set_postgres_trigger_enabled_json_body
43
+
44
+ @property
45
+ def additional_keys(self) -> List[str]:
46
+ return list(self.additional_properties.keys())
47
+
48
+ def __getitem__(self, key: str) -> Any:
49
+ return self.additional_properties[key]
50
+
51
+ def __setitem__(self, key: str, value: Any) -> None:
52
+ self.additional_properties[key] = value
53
+
54
+ def __delitem__(self, key: str) -> None:
55
+ del self.additional_properties[key]
56
+
57
+ def __contains__(self, key: str) -> bool:
58
+ return key in self.additional_properties
@@ -0,0 +1,58 @@
1
+ from typing import 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
+ T = TypeVar("T", bound="Slot")
9
+
10
+
11
+ @_attrs_define
12
+ class Slot:
13
+ """
14
+ Attributes:
15
+ name (Union[Unset, str]):
16
+ """
17
+
18
+ name: Union[Unset, str] = UNSET
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ name = self.name
23
+
24
+ field_dict: Dict[str, Any] = {}
25
+ field_dict.update(self.additional_properties)
26
+ field_dict.update({})
27
+ if name is not UNSET:
28
+ field_dict["name"] = name
29
+
30
+ return field_dict
31
+
32
+ @classmethod
33
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
34
+ d = src_dict.copy()
35
+ name = d.pop("name", UNSET)
36
+
37
+ slot = cls(
38
+ name=name,
39
+ )
40
+
41
+ slot.additional_properties = d
42
+ return slot
43
+
44
+ @property
45
+ def additional_keys(self) -> List[str]:
46
+ return list(self.additional_properties.keys())
47
+
48
+ def __getitem__(self, key: str) -> Any:
49
+ return self.additional_properties[key]
50
+
51
+ def __setitem__(self, key: str, value: Any) -> None:
52
+ self.additional_properties[key] = value
53
+
54
+ def __delitem__(self, key: str) -> None:
55
+ del self.additional_properties[key]
56
+
57
+ def __contains__(self, key: str) -> bool:
58
+ return key in self.additional_properties
@@ -0,0 +1,66 @@
1
+ from typing import 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
+ T = TypeVar("T", bound="SlotList")
9
+
10
+
11
+ @_attrs_define
12
+ class SlotList:
13
+ """
14
+ Attributes:
15
+ slot_name (Union[Unset, str]):
16
+ active (Union[Unset, bool]):
17
+ """
18
+
19
+ slot_name: Union[Unset, str] = UNSET
20
+ active: Union[Unset, bool] = UNSET
21
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ slot_name = self.slot_name
25
+ active = self.active
26
+
27
+ field_dict: Dict[str, Any] = {}
28
+ field_dict.update(self.additional_properties)
29
+ field_dict.update({})
30
+ if slot_name is not UNSET:
31
+ field_dict["slot_name"] = slot_name
32
+ if active is not UNSET:
33
+ field_dict["active"] = active
34
+
35
+ return field_dict
36
+
37
+ @classmethod
38
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
39
+ d = src_dict.copy()
40
+ slot_name = d.pop("slot_name", UNSET)
41
+
42
+ active = d.pop("active", UNSET)
43
+
44
+ slot_list = cls(
45
+ slot_name=slot_name,
46
+ active=active,
47
+ )
48
+
49
+ slot_list.additional_properties = d
50
+ return slot_list
51
+
52
+ @property
53
+ def additional_keys(self) -> List[str]:
54
+ return list(self.additional_properties.keys())
55
+
56
+ def __getitem__(self, key: str) -> Any:
57
+ return self.additional_properties[key]
58
+
59
+ def __setitem__(self, key: str, value: Any) -> None:
60
+ self.additional_properties[key] = value
61
+
62
+ def __delitem__(self, key: str) -> None:
63
+ del self.additional_properties[key]
64
+
65
+ def __contains__(self, key: str) -> bool:
66
+ return key in self.additional_properties
@@ -0,0 +1,87 @@
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.sync_teams_response_200_item_channels_item import SyncTeamsResponse200ItemChannelsItem
8
+
9
+
10
+ T = TypeVar("T", bound="SyncTeamsResponse200Item")
11
+
12
+
13
+ @_attrs_define
14
+ class SyncTeamsResponse200Item:
15
+ """
16
+ Attributes:
17
+ team_id (str): The unique identifier of the Microsoft Teams team Example: 19:abc123def456@thread.tacv2.
18
+ team_name (str): The display name of the Microsoft Teams team Example: Engineering Team.
19
+ channels (List['SyncTeamsResponse200ItemChannelsItem']): List of channels within the team
20
+ """
21
+
22
+ team_id: str
23
+ team_name: str
24
+ channels: List["SyncTeamsResponse200ItemChannelsItem"]
25
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
26
+
27
+ def to_dict(self) -> Dict[str, Any]:
28
+ team_id = self.team_id
29
+ team_name = self.team_name
30
+ channels = []
31
+ for channels_item_data in self.channels:
32
+ channels_item = channels_item_data.to_dict()
33
+
34
+ channels.append(channels_item)
35
+
36
+ field_dict: Dict[str, Any] = {}
37
+ field_dict.update(self.additional_properties)
38
+ field_dict.update(
39
+ {
40
+ "team_id": team_id,
41
+ "team_name": team_name,
42
+ "channels": channels,
43
+ }
44
+ )
45
+
46
+ return field_dict
47
+
48
+ @classmethod
49
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
50
+ from ..models.sync_teams_response_200_item_channels_item import SyncTeamsResponse200ItemChannelsItem
51
+
52
+ d = src_dict.copy()
53
+ team_id = d.pop("team_id")
54
+
55
+ team_name = d.pop("team_name")
56
+
57
+ channels = []
58
+ _channels = d.pop("channels")
59
+ for channels_item_data in _channels:
60
+ channels_item = SyncTeamsResponse200ItemChannelsItem.from_dict(channels_item_data)
61
+
62
+ channels.append(channels_item)
63
+
64
+ sync_teams_response_200_item = cls(
65
+ team_id=team_id,
66
+ team_name=team_name,
67
+ channels=channels,
68
+ )
69
+
70
+ sync_teams_response_200_item.additional_properties = d
71
+ return sync_teams_response_200_item
72
+
73
+ @property
74
+ def additional_keys(self) -> List[str]:
75
+ return list(self.additional_properties.keys())
76
+
77
+ def __getitem__(self, key: str) -> Any:
78
+ return self.additional_properties[key]
79
+
80
+ def __setitem__(self, key: str, value: Any) -> None:
81
+ self.additional_properties[key] = value
82
+
83
+ def __delitem__(self, key: str) -> None:
84
+ del self.additional_properties[key]
85
+
86
+ def __contains__(self, key: str) -> bool:
87
+ return key in self.additional_properties