windmill-api 1.478.1__py3-none-any.whl → 1.479.1__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 (118) hide show
  1. windmill_api/api/app/list_app_paths_from_workspace_runnable.py +176 -0
  2. windmill_api/api/git_sync/__init__.py +0 -0
  3. windmill_api/api/git_sync/delete_from_workspace.py +107 -0
  4. windmill_api/api/git_sync/export_installation.py +174 -0
  5. windmill_api/api/git_sync/get_global_connected_repositories.py +131 -0
  6. windmill_api/api/git_sync/import_installation.py +111 -0
  7. windmill_api/api/{workspace/set_automatic_billing.py → git_sync/install_from_workspace.py} +11 -9
  8. windmill_api/api/script/list_script_paths_from_workspace_runnable.py +161 -0
  9. windmill_api/api/workspace/get_copilot_info.py +65 -6
  10. windmill_api/api/workspace/get_github_app_token.py +170 -0
  11. windmill_api/models/ai_config.py +107 -0
  12. windmill_api/models/{get_settings_response_200_ai_resource.py → ai_config_code_completion_model.py} +15 -15
  13. windmill_api/models/{get_settings_response_200_ai_resource_provider.py → ai_config_code_completion_model_provider.py} +2 -1
  14. windmill_api/models/{edit_copilot_config_json_body_ai_resource.py → ai_config_default_model.py} +15 -15
  15. windmill_api/models/{edit_copilot_config_json_body_ai_resource_provider.py → ai_config_default_model_provider.py} +2 -1
  16. windmill_api/models/ai_config_providers.py +60 -0
  17. windmill_api/models/ai_config_providers_additional_property.py +65 -0
  18. windmill_api/models/ai_provider.py +1 -0
  19. windmill_api/models/ai_provider_config.py +65 -0
  20. windmill_api/models/{ai_resource.py → ai_provider_model.py} +15 -15
  21. windmill_api/models/{ai_resource_provider.py → ai_provider_model_provider.py} +2 -1
  22. windmill_api/models/archive_script_by_hash_response_200_language.py +2 -0
  23. windmill_api/models/authentication_method.py +13 -0
  24. windmill_api/models/completed_job_language.py +2 -0
  25. windmill_api/models/create_http_trigger_json_body.py +16 -6
  26. windmill_api/models/create_http_trigger_json_body_authentication_method.py +13 -0
  27. windmill_api/models/create_schedule_json_body.py +8 -0
  28. windmill_api/models/create_script_json_body_language.py +2 -0
  29. windmill_api/models/delete_completed_job_response_200_language.py +2 -0
  30. windmill_api/models/delete_script_by_hash_response_200_language.py +2 -0
  31. windmill_api/models/edit_copilot_config_json_body.py +50 -30
  32. windmill_api/models/edit_copilot_config_json_body_code_completion_model.py +69 -0
  33. windmill_api/models/edit_copilot_config_json_body_code_completion_model_provider.py +16 -0
  34. windmill_api/models/edit_copilot_config_json_body_default_model.py +67 -0
  35. windmill_api/models/edit_copilot_config_json_body_default_model_provider.py +16 -0
  36. windmill_api/models/edit_copilot_config_json_body_providers.py +66 -0
  37. windmill_api/models/edit_copilot_config_json_body_providers_additional_property.py +65 -0
  38. windmill_api/models/edit_http_trigger.py +16 -6
  39. windmill_api/models/edit_http_trigger_authentication_method.py +13 -0
  40. windmill_api/models/edit_schedule.py +8 -0
  41. windmill_api/models/{set_automatic_billing_json_body.py → export_installation_response_200.py} +13 -23
  42. windmill_api/models/extended_jobs_jobs_item_type_0_language.py +2 -0
  43. windmill_api/models/extended_jobs_jobs_item_type_1_language.py +2 -0
  44. windmill_api/models/get_completed_job_response_200_language.py +2 -0
  45. windmill_api/models/get_copilot_info_response_200.py +111 -0
  46. windmill_api/models/get_copilot_info_response_200_code_completion_model.py +69 -0
  47. windmill_api/models/get_copilot_info_response_200_code_completion_model_provider.py +16 -0
  48. windmill_api/models/get_copilot_info_response_200_default_model.py +67 -0
  49. windmill_api/models/get_copilot_info_response_200_default_model_provider.py +16 -0
  50. windmill_api/models/get_copilot_info_response_200_providers.py +66 -0
  51. windmill_api/models/get_copilot_info_response_200_providers_additional_property.py +65 -0
  52. windmill_api/models/get_github_app_token_json_body.py +58 -0
  53. windmill_api/models/get_github_app_token_response_200.py +58 -0
  54. windmill_api/models/get_global_connected_repositories_response_200_item.py +104 -0
  55. windmill_api/models/get_global_connected_repositories_response_200_item_repositories_item.py +65 -0
  56. windmill_api/models/get_http_trigger_response_200.py +17 -6
  57. windmill_api/models/get_http_trigger_response_200_authentication_method.py +13 -0
  58. windmill_api/models/get_job_response_200_type_0_language.py +2 -0
  59. windmill_api/models/get_job_response_200_type_1_language.py +2 -0
  60. windmill_api/models/get_premium_info_response_200.py +7 -14
  61. windmill_api/models/get_schedule_response_200.py +8 -0
  62. windmill_api/models/get_script_by_hash_response_200_language.py +2 -0
  63. windmill_api/models/get_script_by_path_response_200_language.py +2 -0
  64. windmill_api/models/get_script_by_path_with_draft_response_200_draft_language.py +2 -0
  65. windmill_api/models/get_script_by_path_with_draft_response_200_language.py +2 -0
  66. windmill_api/models/get_settings_response_200.py +16 -39
  67. windmill_api/models/get_settings_response_200_ai_config.py +113 -0
  68. windmill_api/models/get_settings_response_200_ai_config_code_completion_model.py +69 -0
  69. windmill_api/models/get_settings_response_200_ai_config_code_completion_model_provider.py +16 -0
  70. windmill_api/models/get_settings_response_200_ai_config_default_model.py +69 -0
  71. windmill_api/models/get_settings_response_200_ai_config_default_model_provider.py +16 -0
  72. windmill_api/models/get_settings_response_200_ai_config_providers.py +66 -0
  73. windmill_api/models/get_settings_response_200_ai_config_providers_additional_property.py +65 -0
  74. windmill_api/models/get_suspended_job_flow_response_200_job_type_0_language.py +2 -0
  75. windmill_api/models/get_suspended_job_flow_response_200_job_type_1_language.py +2 -0
  76. windmill_api/models/github_installations_item.py +98 -0
  77. windmill_api/models/github_installations_item_repositories_item.py +65 -0
  78. windmill_api/models/http_trigger.py +17 -6
  79. windmill_api/models/http_trigger_authentication_method.py +13 -0
  80. windmill_api/models/import_installation_json_body.py +58 -0
  81. windmill_api/models/install_from_workspace_json_body.py +65 -0
  82. windmill_api/models/job_type_0_language.py +2 -0
  83. windmill_api/models/job_type_1_language.py +2 -0
  84. windmill_api/models/list_app_paths_from_workspace_runnable_runnable_kind.py +9 -0
  85. windmill_api/models/list_completed_jobs_response_200_item_language.py +2 -0
  86. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_language.py +2 -0
  87. windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_language.py +2 -0
  88. windmill_api/models/list_http_triggers_response_200_item.py +19 -6
  89. windmill_api/models/list_http_triggers_response_200_item_authentication_method.py +13 -0
  90. windmill_api/models/list_jobs_response_200_item_type_0_language.py +2 -0
  91. windmill_api/models/list_jobs_response_200_item_type_1_language.py +2 -0
  92. windmill_api/models/list_queue_response_200_item_language.py +2 -0
  93. windmill_api/models/list_schedules_response_200_item.py +8 -0
  94. windmill_api/models/list_schedules_with_jobs_response_200_item.py +8 -0
  95. windmill_api/models/list_scripts_response_200_item_language.py +2 -0
  96. windmill_api/models/new_http_trigger.py +16 -6
  97. windmill_api/models/new_http_trigger_authentication_method.py +13 -0
  98. windmill_api/models/new_schedule.py +8 -0
  99. windmill_api/models/new_script_language.py +2 -0
  100. windmill_api/models/new_script_with_draft_draft_language.py +2 -0
  101. windmill_api/models/new_script_with_draft_language.py +2 -0
  102. windmill_api/models/preview_language.py +2 -0
  103. windmill_api/models/queued_job_language.py +2 -0
  104. windmill_api/models/raw_script_for_dependencies_language.py +2 -0
  105. windmill_api/models/run_raw_script_dependencies_json_body_raw_scripts_item_language.py +2 -0
  106. windmill_api/models/run_script_preview_json_body_language.py +2 -0
  107. windmill_api/models/schedule.py +8 -0
  108. windmill_api/models/schedule_w_jobs.py +8 -0
  109. windmill_api/models/script_lang.py +2 -0
  110. windmill_api/models/script_language.py +2 -0
  111. windmill_api/models/update_http_trigger_json_body.py +16 -6
  112. windmill_api/models/update_http_trigger_json_body_authentication_method.py +13 -0
  113. windmill_api/models/update_schedule_json_body.py +8 -0
  114. windmill_api/models/workspace_github_installation.py +65 -0
  115. {windmill_api-1.478.1.dist-info → windmill_api-1.479.1.dist-info}/METADATA +1 -1
  116. {windmill_api-1.478.1.dist-info → windmill_api-1.479.1.dist-info}/RECORD +118 -68
  117. {windmill_api-1.478.1.dist-info → windmill_api-1.479.1.dist-info}/LICENSE +0 -0
  118. {windmill_api-1.478.1.dist-info → windmill_api-1.479.1.dist-info}/WHEEL +0 -0
@@ -0,0 +1,69 @@
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
+ from ..models.get_settings_response_200_ai_config_code_completion_model_provider import (
7
+ GetSettingsResponse200AiConfigCodeCompletionModelProvider,
8
+ )
9
+
10
+ T = TypeVar("T", bound="GetSettingsResponse200AiConfigCodeCompletionModel")
11
+
12
+
13
+ @_attrs_define
14
+ class GetSettingsResponse200AiConfigCodeCompletionModel:
15
+ """
16
+ Attributes:
17
+ model (str):
18
+ provider (GetSettingsResponse200AiConfigCodeCompletionModelProvider):
19
+ """
20
+
21
+ model: str
22
+ provider: GetSettingsResponse200AiConfigCodeCompletionModelProvider
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ model = self.model
27
+ provider = self.provider.value
28
+
29
+ field_dict: Dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "model": model,
34
+ "provider": provider,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
42
+ d = src_dict.copy()
43
+ model = d.pop("model")
44
+
45
+ provider = GetSettingsResponse200AiConfigCodeCompletionModelProvider(d.pop("provider"))
46
+
47
+ get_settings_response_200_ai_config_code_completion_model = cls(
48
+ model=model,
49
+ provider=provider,
50
+ )
51
+
52
+ get_settings_response_200_ai_config_code_completion_model.additional_properties = d
53
+ return get_settings_response_200_ai_config_code_completion_model
54
+
55
+ @property
56
+ def additional_keys(self) -> List[str]:
57
+ return list(self.additional_properties.keys())
58
+
59
+ def __getitem__(self, key: str) -> Any:
60
+ return self.additional_properties[key]
61
+
62
+ def __setitem__(self, key: str, value: Any) -> None:
63
+ self.additional_properties[key] = value
64
+
65
+ def __delitem__(self, key: str) -> None:
66
+ del self.additional_properties[key]
67
+
68
+ def __contains__(self, key: str) -> bool:
69
+ return key in self.additional_properties
@@ -0,0 +1,16 @@
1
+ from enum import Enum
2
+
3
+
4
+ class GetSettingsResponse200AiConfigCodeCompletionModelProvider(str, Enum):
5
+ ANTHROPIC = "anthropic"
6
+ CUSTOMAI = "customai"
7
+ DEEPSEEK = "deepseek"
8
+ GOOGLEAI = "googleai"
9
+ GROQ = "groq"
10
+ MISTRAL = "mistral"
11
+ OPENAI = "openai"
12
+ OPENROUTER = "openrouter"
13
+ TOGETHERAI = "togetherai"
14
+
15
+ def __str__(self) -> str:
16
+ return str(self.value)
@@ -0,0 +1,69 @@
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
+ from ..models.get_settings_response_200_ai_config_default_model_provider import (
7
+ GetSettingsResponse200AiConfigDefaultModelProvider,
8
+ )
9
+
10
+ T = TypeVar("T", bound="GetSettingsResponse200AiConfigDefaultModel")
11
+
12
+
13
+ @_attrs_define
14
+ class GetSettingsResponse200AiConfigDefaultModel:
15
+ """
16
+ Attributes:
17
+ model (str):
18
+ provider (GetSettingsResponse200AiConfigDefaultModelProvider):
19
+ """
20
+
21
+ model: str
22
+ provider: GetSettingsResponse200AiConfigDefaultModelProvider
23
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
24
+
25
+ def to_dict(self) -> Dict[str, Any]:
26
+ model = self.model
27
+ provider = self.provider.value
28
+
29
+ field_dict: Dict[str, Any] = {}
30
+ field_dict.update(self.additional_properties)
31
+ field_dict.update(
32
+ {
33
+ "model": model,
34
+ "provider": provider,
35
+ }
36
+ )
37
+
38
+ return field_dict
39
+
40
+ @classmethod
41
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
42
+ d = src_dict.copy()
43
+ model = d.pop("model")
44
+
45
+ provider = GetSettingsResponse200AiConfigDefaultModelProvider(d.pop("provider"))
46
+
47
+ get_settings_response_200_ai_config_default_model = cls(
48
+ model=model,
49
+ provider=provider,
50
+ )
51
+
52
+ get_settings_response_200_ai_config_default_model.additional_properties = d
53
+ return get_settings_response_200_ai_config_default_model
54
+
55
+ @property
56
+ def additional_keys(self) -> List[str]:
57
+ return list(self.additional_properties.keys())
58
+
59
+ def __getitem__(self, key: str) -> Any:
60
+ return self.additional_properties[key]
61
+
62
+ def __setitem__(self, key: str, value: Any) -> None:
63
+ self.additional_properties[key] = value
64
+
65
+ def __delitem__(self, key: str) -> None:
66
+ del self.additional_properties[key]
67
+
68
+ def __contains__(self, key: str) -> bool:
69
+ return key in self.additional_properties
@@ -0,0 +1,16 @@
1
+ from enum import Enum
2
+
3
+
4
+ class GetSettingsResponse200AiConfigDefaultModelProvider(str, Enum):
5
+ ANTHROPIC = "anthropic"
6
+ CUSTOMAI = "customai"
7
+ DEEPSEEK = "deepseek"
8
+ GOOGLEAI = "googleai"
9
+ GROQ = "groq"
10
+ MISTRAL = "mistral"
11
+ OPENAI = "openai"
12
+ OPENROUTER = "openrouter"
13
+ TOGETHERAI = "togetherai"
14
+
15
+ def __str__(self) -> str:
16
+ return str(self.value)
@@ -0,0 +1,66 @@
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.get_settings_response_200_ai_config_providers_additional_property import (
8
+ GetSettingsResponse200AiConfigProvidersAdditionalProperty,
9
+ )
10
+
11
+
12
+ T = TypeVar("T", bound="GetSettingsResponse200AiConfigProviders")
13
+
14
+
15
+ @_attrs_define
16
+ class GetSettingsResponse200AiConfigProviders:
17
+ """ """
18
+
19
+ additional_properties: Dict[str, "GetSettingsResponse200AiConfigProvidersAdditionalProperty"] = _attrs_field(
20
+ init=False, factory=dict
21
+ )
22
+
23
+ def to_dict(self) -> Dict[str, Any]:
24
+ pass
25
+
26
+ field_dict: Dict[str, Any] = {}
27
+ for prop_name, prop in self.additional_properties.items():
28
+ field_dict[prop_name] = prop.to_dict()
29
+
30
+ field_dict.update({})
31
+
32
+ return field_dict
33
+
34
+ @classmethod
35
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
36
+ from ..models.get_settings_response_200_ai_config_providers_additional_property import (
37
+ GetSettingsResponse200AiConfigProvidersAdditionalProperty,
38
+ )
39
+
40
+ d = src_dict.copy()
41
+ get_settings_response_200_ai_config_providers = cls()
42
+
43
+ additional_properties = {}
44
+ for prop_name, prop_dict in d.items():
45
+ additional_property = GetSettingsResponse200AiConfigProvidersAdditionalProperty.from_dict(prop_dict)
46
+
47
+ additional_properties[prop_name] = additional_property
48
+
49
+ get_settings_response_200_ai_config_providers.additional_properties = additional_properties
50
+ return get_settings_response_200_ai_config_providers
51
+
52
+ @property
53
+ def additional_keys(self) -> List[str]:
54
+ return list(self.additional_properties.keys())
55
+
56
+ def __getitem__(self, key: str) -> "GetSettingsResponse200AiConfigProvidersAdditionalProperty":
57
+ return self.additional_properties[key]
58
+
59
+ def __setitem__(self, key: str, value: "GetSettingsResponse200AiConfigProvidersAdditionalProperty") -> 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,65 @@
1
+ from typing import Any, Dict, List, Type, TypeVar, cast
2
+
3
+ from attrs import define as _attrs_define
4
+ from attrs import field as _attrs_field
5
+
6
+ T = TypeVar("T", bound="GetSettingsResponse200AiConfigProvidersAdditionalProperty")
7
+
8
+
9
+ @_attrs_define
10
+ class GetSettingsResponse200AiConfigProvidersAdditionalProperty:
11
+ """
12
+ Attributes:
13
+ resource_path (str):
14
+ models (List[str]):
15
+ """
16
+
17
+ resource_path: str
18
+ models: List[str]
19
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
20
+
21
+ def to_dict(self) -> Dict[str, Any]:
22
+ resource_path = self.resource_path
23
+ models = self.models
24
+
25
+ field_dict: Dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "resource_path": resource_path,
30
+ "models": models,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
38
+ d = src_dict.copy()
39
+ resource_path = d.pop("resource_path")
40
+
41
+ models = cast(List[str], d.pop("models"))
42
+
43
+ get_settings_response_200_ai_config_providers_additional_property = cls(
44
+ resource_path=resource_path,
45
+ models=models,
46
+ )
47
+
48
+ get_settings_response_200_ai_config_providers_additional_property.additional_properties = d
49
+ return get_settings_response_200_ai_config_providers_additional_property
50
+
51
+ @property
52
+ def additional_keys(self) -> List[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties
@@ -10,9 +10,11 @@ class GetSuspendedJobFlowResponse200JobType0Language(str, Enum):
10
10
  DENO = "deno"
11
11
  GO = "go"
12
12
  GRAPHQL = "graphql"
13
+ JAVA = "java"
13
14
  MSSQL = "mssql"
14
15
  MYSQL = "mysql"
15
16
  NATIVETS = "nativets"
17
+ NU = "nu"
16
18
  ORACLEDB = "oracledb"
17
19
  PHP = "php"
18
20
  POSTGRESQL = "postgresql"
@@ -10,9 +10,11 @@ class GetSuspendedJobFlowResponse200JobType1Language(str, Enum):
10
10
  DENO = "deno"
11
11
  GO = "go"
12
12
  GRAPHQL = "graphql"
13
+ JAVA = "java"
13
14
  MSSQL = "mssql"
14
15
  MYSQL = "mysql"
15
16
  NATIVETS = "nativets"
17
+ NU = "nu"
16
18
  ORACLEDB = "oracledb"
17
19
  PHP = "php"
18
20
  POSTGRESQL = "postgresql"
@@ -0,0 +1,98 @@
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.github_installations_item_repositories_item import GithubInstallationsItemRepositoriesItem
10
+
11
+
12
+ T = TypeVar("T", bound="GithubInstallationsItem")
13
+
14
+
15
+ @_attrs_define
16
+ class GithubInstallationsItem:
17
+ """
18
+ Attributes:
19
+ installation_id (float):
20
+ account_id (str):
21
+ repositories (List['GithubInstallationsItemRepositoriesItem']):
22
+ workspace_id (Union[Unset, str]):
23
+ """
24
+
25
+ installation_id: float
26
+ account_id: str
27
+ repositories: List["GithubInstallationsItemRepositoriesItem"]
28
+ workspace_id: Union[Unset, str] = UNSET
29
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
30
+
31
+ def to_dict(self) -> Dict[str, Any]:
32
+ installation_id = self.installation_id
33
+ account_id = self.account_id
34
+ repositories = []
35
+ for repositories_item_data in self.repositories:
36
+ repositories_item = repositories_item_data.to_dict()
37
+
38
+ repositories.append(repositories_item)
39
+
40
+ workspace_id = self.workspace_id
41
+
42
+ field_dict: Dict[str, Any] = {}
43
+ field_dict.update(self.additional_properties)
44
+ field_dict.update(
45
+ {
46
+ "installation_id": installation_id,
47
+ "account_id": account_id,
48
+ "repositories": repositories,
49
+ }
50
+ )
51
+ if workspace_id is not UNSET:
52
+ field_dict["workspace_id"] = workspace_id
53
+
54
+ return field_dict
55
+
56
+ @classmethod
57
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
58
+ from ..models.github_installations_item_repositories_item import GithubInstallationsItemRepositoriesItem
59
+
60
+ d = src_dict.copy()
61
+ installation_id = d.pop("installation_id")
62
+
63
+ account_id = d.pop("account_id")
64
+
65
+ repositories = []
66
+ _repositories = d.pop("repositories")
67
+ for repositories_item_data in _repositories:
68
+ repositories_item = GithubInstallationsItemRepositoriesItem.from_dict(repositories_item_data)
69
+
70
+ repositories.append(repositories_item)
71
+
72
+ workspace_id = d.pop("workspace_id", UNSET)
73
+
74
+ github_installations_item = cls(
75
+ installation_id=installation_id,
76
+ account_id=account_id,
77
+ repositories=repositories,
78
+ workspace_id=workspace_id,
79
+ )
80
+
81
+ github_installations_item.additional_properties = d
82
+ return github_installations_item
83
+
84
+ @property
85
+ def additional_keys(self) -> List[str]:
86
+ return list(self.additional_properties.keys())
87
+
88
+ def __getitem__(self, key: str) -> Any:
89
+ return self.additional_properties[key]
90
+
91
+ def __setitem__(self, key: str, value: Any) -> None:
92
+ self.additional_properties[key] = value
93
+
94
+ def __delitem__(self, key: str) -> None:
95
+ del self.additional_properties[key]
96
+
97
+ def __contains__(self, key: str) -> bool:
98
+ return key in self.additional_properties
@@ -0,0 +1,65 @@
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="GithubInstallationsItemRepositoriesItem")
7
+
8
+
9
+ @_attrs_define
10
+ class GithubInstallationsItemRepositoriesItem:
11
+ """
12
+ Attributes:
13
+ name (str):
14
+ url (str):
15
+ """
16
+
17
+ name: str
18
+ url: str
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
+ url = self.url
24
+
25
+ field_dict: Dict[str, Any] = {}
26
+ field_dict.update(self.additional_properties)
27
+ field_dict.update(
28
+ {
29
+ "name": name,
30
+ "url": url,
31
+ }
32
+ )
33
+
34
+ return field_dict
35
+
36
+ @classmethod
37
+ def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
38
+ d = src_dict.copy()
39
+ name = d.pop("name")
40
+
41
+ url = d.pop("url")
42
+
43
+ github_installations_item_repositories_item = cls(
44
+ name=name,
45
+ url=url,
46
+ )
47
+
48
+ github_installations_item_repositories_item.additional_properties = d
49
+ return github_installations_item_repositories_item
50
+
51
+ @property
52
+ def additional_keys(self) -> List[str]:
53
+ return list(self.additional_properties.keys())
54
+
55
+ def __getitem__(self, key: str) -> Any:
56
+ return self.additional_properties[key]
57
+
58
+ def __setitem__(self, key: str, value: Any) -> None:
59
+ self.additional_properties[key] = value
60
+
61
+ def __delitem__(self, key: str) -> None:
62
+ del self.additional_properties[key]
63
+
64
+ def __contains__(self, key: str) -> bool:
65
+ return key in self.additional_properties
@@ -5,6 +5,7 @@ from attrs import define as _attrs_define
5
5
  from attrs import field as _attrs_field
6
6
  from dateutil.parser import isoparse
7
7
 
8
+ from ..models.http_trigger_authentication_method import HttpTriggerAuthenticationMethod
8
9
  from ..models.http_trigger_http_method import HttpTriggerHttpMethod
9
10
  from ..types import UNSET, Unset
10
11
 
@@ -23,7 +24,7 @@ class HttpTrigger:
23
24
  route_path (str):
24
25
  http_method (HttpTriggerHttpMethod):
25
26
  is_async (bool):
26
- requires_auth (bool):
27
+ authentication_method (HttpTriggerAuthenticationMethod):
27
28
  is_static_website (bool):
28
29
  workspaced_route (bool):
29
30
  wrap_body (bool):
@@ -37,12 +38,13 @@ class HttpTrigger:
37
38
  edited_at (datetime.datetime):
38
39
  is_flow (bool):
39
40
  static_asset_config (Union[Unset, HttpTriggerStaticAssetConfig]):
41
+ authentication_resource_path (Union[Unset, str]):
40
42
  """
41
43
 
42
44
  route_path: str
43
45
  http_method: HttpTriggerHttpMethod
44
46
  is_async: bool
45
- requires_auth: bool
47
+ authentication_method: HttpTriggerAuthenticationMethod
46
48
  is_static_website: bool
47
49
  workspaced_route: bool
48
50
  wrap_body: bool
@@ -56,6 +58,7 @@ class HttpTrigger:
56
58
  edited_at: datetime.datetime
57
59
  is_flow: bool
58
60
  static_asset_config: Union[Unset, "HttpTriggerStaticAssetConfig"] = UNSET
61
+ authentication_resource_path: Union[Unset, str] = UNSET
59
62
  additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
60
63
 
61
64
  def to_dict(self) -> Dict[str, Any]:
@@ -63,7 +66,8 @@ class HttpTrigger:
63
66
  http_method = self.http_method.value
64
67
 
65
68
  is_async = self.is_async
66
- requires_auth = self.requires_auth
69
+ authentication_method = self.authentication_method.value
70
+
67
71
  is_static_website = self.is_static_website
68
72
  workspaced_route = self.workspaced_route
69
73
  wrap_body = self.wrap_body
@@ -82,6 +86,8 @@ class HttpTrigger:
82
86
  if not isinstance(self.static_asset_config, Unset):
83
87
  static_asset_config = self.static_asset_config.to_dict()
84
88
 
89
+ authentication_resource_path = self.authentication_resource_path
90
+
85
91
  field_dict: Dict[str, Any] = {}
86
92
  field_dict.update(self.additional_properties)
87
93
  field_dict.update(
@@ -89,7 +95,7 @@ class HttpTrigger:
89
95
  "route_path": route_path,
90
96
  "http_method": http_method,
91
97
  "is_async": is_async,
92
- "requires_auth": requires_auth,
98
+ "authentication_method": authentication_method,
93
99
  "is_static_website": is_static_website,
94
100
  "workspaced_route": workspaced_route,
95
101
  "wrap_body": wrap_body,
@@ -106,6 +112,8 @@ class HttpTrigger:
106
112
  )
107
113
  if static_asset_config is not UNSET:
108
114
  field_dict["static_asset_config"] = static_asset_config
115
+ if authentication_resource_path is not UNSET:
116
+ field_dict["authentication_resource_path"] = authentication_resource_path
109
117
 
110
118
  return field_dict
111
119
 
@@ -121,7 +129,7 @@ class HttpTrigger:
121
129
 
122
130
  is_async = d.pop("is_async")
123
131
 
124
- requires_auth = d.pop("requires_auth")
132
+ authentication_method = HttpTriggerAuthenticationMethod(d.pop("authentication_method"))
125
133
 
126
134
  is_static_website = d.pop("is_static_website")
127
135
 
@@ -154,11 +162,13 @@ class HttpTrigger:
154
162
  else:
155
163
  static_asset_config = HttpTriggerStaticAssetConfig.from_dict(_static_asset_config)
156
164
 
165
+ authentication_resource_path = d.pop("authentication_resource_path", UNSET)
166
+
157
167
  http_trigger = cls(
158
168
  route_path=route_path,
159
169
  http_method=http_method,
160
170
  is_async=is_async,
161
- requires_auth=requires_auth,
171
+ authentication_method=authentication_method,
162
172
  is_static_website=is_static_website,
163
173
  workspaced_route=workspaced_route,
164
174
  wrap_body=wrap_body,
@@ -172,6 +182,7 @@ class HttpTrigger:
172
182
  edited_at=edited_at,
173
183
  is_flow=is_flow,
174
184
  static_asset_config=static_asset_config,
185
+ authentication_resource_path=authentication_resource_path,
175
186
  )
176
187
 
177
188
  http_trigger.additional_properties = d
@@ -0,0 +1,13 @@
1
+ from enum import Enum
2
+
3
+
4
+ class HttpTriggerAuthenticationMethod(str, Enum):
5
+ API_KEY = "api_key"
6
+ BASIC_HTTP = "basic_http"
7
+ CUSTOM_SCRIPT = "custom_script"
8
+ NONE = "none"
9
+ SIGNATURE = "signature"
10
+ WINDMILL = "windmill"
11
+
12
+ def __str__(self) -> str:
13
+ 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="ImportInstallationJsonBody")
7
+
8
+
9
+ @_attrs_define
10
+ class ImportInstallationJsonBody:
11
+ """
12
+ Attributes:
13
+ jwt_token (str):
14
+ """
15
+
16
+ jwt_token: str
17
+ additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
18
+
19
+ def to_dict(self) -> Dict[str, Any]:
20
+ jwt_token = self.jwt_token
21
+
22
+ field_dict: Dict[str, Any] = {}
23
+ field_dict.update(self.additional_properties)
24
+ field_dict.update(
25
+ {
26
+ "jwt_token": jwt_token,
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
+ jwt_token = d.pop("jwt_token")
36
+
37
+ import_installation_json_body = cls(
38
+ jwt_token=jwt_token,
39
+ )
40
+
41
+ import_installation_json_body.additional_properties = d
42
+ return import_installation_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