windmill-api 1.555.1__py3-none-any.whl → 1.556.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.
- windmill_api/api/setting/{databases_exist.py → get_ducklake_instance_catalog_db_status.py} +25 -48
- windmill_api/api/setting/setup_ducklake_catalog_db.py +152 -0
- windmill_api/models/completed_job_job_kind.py +1 -1
- windmill_api/models/create_schedule_json_body.py +9 -0
- windmill_api/models/delete_completed_job_response_200_job_kind.py +1 -1
- windmill_api/models/ducklake_instance_catalog_db_status_logs_created_database.py +10 -0
- windmill_api/models/ducklake_instance_catalog_db_status_logs_database_credentials.py +10 -0
- windmill_api/models/ducklake_instance_catalog_db_status_logs_db_connect.py +10 -0
- windmill_api/models/ducklake_instance_catalog_db_status_logs_grant_permissions.py +10 -0
- windmill_api/models/ducklake_instance_catalog_db_status_logs_super_admin.py +10 -0
- windmill_api/models/ducklake_instance_catalog_db_status_logs_valid_dbname.py +10 -0
- windmill_api/models/edit_schedule.py +9 -0
- windmill_api/models/extended_jobs_jobs_item_type_0_job_kind.py +1 -1
- windmill_api/models/extended_jobs_jobs_item_type_1_job_kind.py +1 -1
- windmill_api/models/flow_module_value_2_type_3_parallelism_type_0.py +67 -0
- windmill_api/models/flow_module_value_2_type_3_parallelism_type_0_type.py +8 -0
- windmill_api/models/flow_module_value_2_type_3_parallelism_type_1.py +67 -0
- windmill_api/models/flow_module_value_2_type_3_parallelism_type_1_type.py +8 -0
- windmill_api/models/flow_module_value_2_type_4_parallelism_type_0.py +67 -0
- windmill_api/models/flow_module_value_2_type_4_parallelism_type_0_type.py +8 -0
- windmill_api/models/flow_module_value_2_type_4_parallelism_type_1.py +67 -0
- windmill_api/models/flow_module_value_2_type_4_parallelism_type_1_type.py +8 -0
- windmill_api/models/forloop_flow.py +50 -4
- windmill_api/models/forloop_flow_parallelism_type_0.py +67 -0
- windmill_api/models/forloop_flow_parallelism_type_0_type.py +8 -0
- windmill_api/models/forloop_flow_parallelism_type_1.py +67 -0
- windmill_api/models/forloop_flow_parallelism_type_1_type.py +8 -0
- windmill_api/models/get_completed_job_response_200_job_kind.py +1 -1
- windmill_api/models/get_ducklake_instance_catalog_db_status_response_200.py +66 -0
- windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property.py +86 -0
- windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs.py +187 -0
- windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_created_database.py +10 -0
- windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_database_credentials.py +10 -0
- windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_db_connect.py +10 -0
- windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_grant_permissions.py +10 -0
- windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_super_admin.py +10 -0
- windmill_api/models/get_ducklake_instance_catalog_db_status_response_200_additional_property_logs_valid_dbname.py +10 -0
- windmill_api/models/get_job_response_200_type_0_job_kind.py +1 -1
- windmill_api/models/get_job_response_200_type_1_job_kind.py +1 -1
- windmill_api/models/get_schedule_response_200.py +9 -0
- windmill_api/models/get_suspended_job_flow_response_200_job_type_0_job_kind.py +1 -1
- windmill_api/models/get_suspended_job_flow_response_200_job_type_1_job_kind.py +1 -1
- windmill_api/models/job_type_0_job_kind.py +1 -1
- windmill_api/models/job_type_1_job_kind.py +1 -1
- windmill_api/models/list_completed_jobs_response_200_item_job_kind.py +1 -1
- windmill_api/models/list_extended_jobs_response_200_jobs_item_type_0_job_kind.py +1 -1
- windmill_api/models/list_extended_jobs_response_200_jobs_item_type_1_job_kind.py +1 -1
- windmill_api/models/list_jobs_response_200_item_type_0_job_kind.py +1 -1
- windmill_api/models/list_jobs_response_200_item_type_1_job_kind.py +1 -1
- windmill_api/models/list_queue_response_200_item_job_kind.py +1 -1
- windmill_api/models/list_schedules_response_200_item.py +9 -0
- windmill_api/models/list_schedules_with_jobs_response_200_item.py +9 -0
- windmill_api/models/logged_wizard_status.py +10 -0
- windmill_api/models/new_schedule.py +9 -0
- windmill_api/models/queued_job_job_kind.py +1 -1
- windmill_api/models/schedule.py +9 -0
- windmill_api/models/schedule_w_jobs.py +9 -0
- windmill_api/models/setup_ducklake_catalog_db_response_200.py +82 -0
- windmill_api/models/setup_ducklake_catalog_db_response_200_logs.py +164 -0
- windmill_api/models/setup_ducklake_catalog_db_response_200_logs_created_database.py +10 -0
- windmill_api/models/setup_ducklake_catalog_db_response_200_logs_database_credentials.py +10 -0
- windmill_api/models/setup_ducklake_catalog_db_response_200_logs_db_connect.py +10 -0
- windmill_api/models/setup_ducklake_catalog_db_response_200_logs_grant_permissions.py +10 -0
- windmill_api/models/setup_ducklake_catalog_db_response_200_logs_super_admin.py +10 -0
- windmill_api/models/setup_ducklake_catalog_db_response_200_logs_valid_dbname.py +10 -0
- windmill_api/models/update_schedule_json_body.py +9 -0
- windmill_api/models/whileloop_flow.py +51 -4
- windmill_api/models/whileloop_flow_parallelism_type_0.py +67 -0
- windmill_api/models/whileloop_flow_parallelism_type_0_type.py +8 -0
- windmill_api/models/whileloop_flow_parallelism_type_1.py +67 -0
- windmill_api/models/whileloop_flow_parallelism_type_1_type.py +8 -0
- {windmill_api-1.555.1.dist-info → windmill_api-1.556.0.dist-info}/METADATA +1 -1
- {windmill_api-1.555.1.dist-info → windmill_api-1.556.0.dist-info}/RECORD +75 -35
- windmill_api/api/setting/create_ducklake_database.py +0 -95
- {windmill_api-1.555.1.dist-info → windmill_api-1.556.0.dist-info}/LICENSE +0 -0
- {windmill_api-1.555.1.dist-info → windmill_api-1.556.0.dist-info}/WHEEL +0 -0
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
from http import HTTPStatus
|
|
2
|
-
from typing import Any, Dict,
|
|
2
|
+
from typing import Any, Dict, Optional, Union
|
|
3
3
|
|
|
4
4
|
import httpx
|
|
5
5
|
|
|
6
6
|
from ... import errors
|
|
7
7
|
from ...client import AuthenticatedClient, Client
|
|
8
|
+
from ...models.get_ducklake_instance_catalog_db_status_response_200 import GetDucklakeInstanceCatalogDbStatusResponse200
|
|
8
9
|
from ...types import Response
|
|
9
10
|
|
|
10
11
|
|
|
11
|
-
def _get_kwargs(
|
|
12
|
-
*,
|
|
13
|
-
json_body: List[str],
|
|
14
|
-
) -> Dict[str, Any]:
|
|
12
|
+
def _get_kwargs() -> Dict[str, Any]:
|
|
15
13
|
pass
|
|
16
14
|
|
|
17
|
-
json_json_body = json_body
|
|
18
|
-
|
|
19
15
|
return {
|
|
20
16
|
"method": "post",
|
|
21
|
-
"url": "/settings/
|
|
22
|
-
"json": json_json_body,
|
|
17
|
+
"url": "/settings/get_ducklake_instance_catalog_db_status",
|
|
23
18
|
}
|
|
24
19
|
|
|
25
20
|
|
|
26
|
-
def _parse_response(
|
|
21
|
+
def _parse_response(
|
|
22
|
+
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
23
|
+
) -> Optional[GetDucklakeInstanceCatalogDbStatusResponse200]:
|
|
27
24
|
if response.status_code == HTTPStatus.OK:
|
|
28
|
-
response_200 =
|
|
25
|
+
response_200 = GetDucklakeInstanceCatalogDbStatusResponse200.from_dict(response.json())
|
|
29
26
|
|
|
30
27
|
return response_200
|
|
31
28
|
if client.raise_on_unexpected_status:
|
|
@@ -34,7 +31,9 @@ def _parse_response(*, client: Union[AuthenticatedClient, Client], response: htt
|
|
|
34
31
|
return None
|
|
35
32
|
|
|
36
33
|
|
|
37
|
-
def _build_response(
|
|
34
|
+
def _build_response(
|
|
35
|
+
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
36
|
+
) -> Response[GetDucklakeInstanceCatalogDbStatusResponse200]:
|
|
38
37
|
return Response(
|
|
39
38
|
status_code=HTTPStatus(response.status_code),
|
|
40
39
|
content=response.content,
|
|
@@ -46,24 +45,18 @@ def _build_response(*, client: Union[AuthenticatedClient, Client], response: htt
|
|
|
46
45
|
def sync_detailed(
|
|
47
46
|
*,
|
|
48
47
|
client: Union[AuthenticatedClient, Client],
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
"""checks that all given databases exist or else return the ones that don't
|
|
52
|
-
|
|
53
|
-
Args:
|
|
54
|
-
json_body (List[str]):
|
|
48
|
+
) -> Response[GetDucklakeInstanceCatalogDbStatusResponse200]:
|
|
49
|
+
"""Returns the set-up statuses of ducklake instance catalog dbs
|
|
55
50
|
|
|
56
51
|
Raises:
|
|
57
52
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
58
53
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
59
54
|
|
|
60
55
|
Returns:
|
|
61
|
-
Response[
|
|
56
|
+
Response[GetDucklakeInstanceCatalogDbStatusResponse200]
|
|
62
57
|
"""
|
|
63
58
|
|
|
64
|
-
kwargs = _get_kwargs(
|
|
65
|
-
json_body=json_body,
|
|
66
|
-
)
|
|
59
|
+
kwargs = _get_kwargs()
|
|
67
60
|
|
|
68
61
|
response = client.get_httpx_client().request(
|
|
69
62
|
**kwargs,
|
|
@@ -75,48 +68,37 @@ def sync_detailed(
|
|
|
75
68
|
def sync(
|
|
76
69
|
*,
|
|
77
70
|
client: Union[AuthenticatedClient, Client],
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
"""checks that all given databases exist or else return the ones that don't
|
|
81
|
-
|
|
82
|
-
Args:
|
|
83
|
-
json_body (List[str]):
|
|
71
|
+
) -> Optional[GetDucklakeInstanceCatalogDbStatusResponse200]:
|
|
72
|
+
"""Returns the set-up statuses of ducklake instance catalog dbs
|
|
84
73
|
|
|
85
74
|
Raises:
|
|
86
75
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
87
76
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
88
77
|
|
|
89
78
|
Returns:
|
|
90
|
-
|
|
79
|
+
GetDucklakeInstanceCatalogDbStatusResponse200
|
|
91
80
|
"""
|
|
92
81
|
|
|
93
82
|
return sync_detailed(
|
|
94
83
|
client=client,
|
|
95
|
-
json_body=json_body,
|
|
96
84
|
).parsed
|
|
97
85
|
|
|
98
86
|
|
|
99
87
|
async def asyncio_detailed(
|
|
100
88
|
*,
|
|
101
89
|
client: Union[AuthenticatedClient, Client],
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
"""checks that all given databases exist or else return the ones that don't
|
|
105
|
-
|
|
106
|
-
Args:
|
|
107
|
-
json_body (List[str]):
|
|
90
|
+
) -> Response[GetDucklakeInstanceCatalogDbStatusResponse200]:
|
|
91
|
+
"""Returns the set-up statuses of ducklake instance catalog dbs
|
|
108
92
|
|
|
109
93
|
Raises:
|
|
110
94
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
111
95
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
112
96
|
|
|
113
97
|
Returns:
|
|
114
|
-
Response[
|
|
98
|
+
Response[GetDucklakeInstanceCatalogDbStatusResponse200]
|
|
115
99
|
"""
|
|
116
100
|
|
|
117
|
-
kwargs = _get_kwargs(
|
|
118
|
-
json_body=json_body,
|
|
119
|
-
)
|
|
101
|
+
kwargs = _get_kwargs()
|
|
120
102
|
|
|
121
103
|
response = await client.get_async_httpx_client().request(**kwargs)
|
|
122
104
|
|
|
@@ -126,24 +108,19 @@ async def asyncio_detailed(
|
|
|
126
108
|
async def asyncio(
|
|
127
109
|
*,
|
|
128
110
|
client: Union[AuthenticatedClient, Client],
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
"""checks that all given databases exist or else return the ones that don't
|
|
132
|
-
|
|
133
|
-
Args:
|
|
134
|
-
json_body (List[str]):
|
|
111
|
+
) -> Optional[GetDucklakeInstanceCatalogDbStatusResponse200]:
|
|
112
|
+
"""Returns the set-up statuses of ducklake instance catalog dbs
|
|
135
113
|
|
|
136
114
|
Raises:
|
|
137
115
|
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
138
116
|
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
139
117
|
|
|
140
118
|
Returns:
|
|
141
|
-
|
|
119
|
+
GetDucklakeInstanceCatalogDbStatusResponse200
|
|
142
120
|
"""
|
|
143
121
|
|
|
144
122
|
return (
|
|
145
123
|
await asyncio_detailed(
|
|
146
124
|
client=client,
|
|
147
|
-
json_body=json_body,
|
|
148
125
|
)
|
|
149
126
|
).parsed
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
from http import HTTPStatus
|
|
2
|
+
from typing import Any, Dict, Optional, Union
|
|
3
|
+
|
|
4
|
+
import httpx
|
|
5
|
+
|
|
6
|
+
from ... import errors
|
|
7
|
+
from ...client import AuthenticatedClient, Client
|
|
8
|
+
from ...models.setup_ducklake_catalog_db_response_200 import SetupDucklakeCatalogDbResponse200
|
|
9
|
+
from ...types import Response
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def _get_kwargs(
|
|
13
|
+
name: str,
|
|
14
|
+
) -> Dict[str, Any]:
|
|
15
|
+
pass
|
|
16
|
+
|
|
17
|
+
return {
|
|
18
|
+
"method": "post",
|
|
19
|
+
"url": "/settings/setup_ducklake_catalog_db/{name}".format(
|
|
20
|
+
name=name,
|
|
21
|
+
),
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def _parse_response(
|
|
26
|
+
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
27
|
+
) -> Optional[SetupDucklakeCatalogDbResponse200]:
|
|
28
|
+
if response.status_code == HTTPStatus.OK:
|
|
29
|
+
response_200 = SetupDucklakeCatalogDbResponse200.from_dict(response.json())
|
|
30
|
+
|
|
31
|
+
return response_200
|
|
32
|
+
if client.raise_on_unexpected_status:
|
|
33
|
+
raise errors.UnexpectedStatus(response.status_code, response.content)
|
|
34
|
+
else:
|
|
35
|
+
return None
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def _build_response(
|
|
39
|
+
*, client: Union[AuthenticatedClient, Client], response: httpx.Response
|
|
40
|
+
) -> Response[SetupDucklakeCatalogDbResponse200]:
|
|
41
|
+
return Response(
|
|
42
|
+
status_code=HTTPStatus(response.status_code),
|
|
43
|
+
content=response.content,
|
|
44
|
+
headers=response.headers,
|
|
45
|
+
parsed=_parse_response(client=client, response=response),
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def sync_detailed(
|
|
50
|
+
name: str,
|
|
51
|
+
*,
|
|
52
|
+
client: Union[AuthenticatedClient, Client],
|
|
53
|
+
) -> Response[SetupDucklakeCatalogDbResponse200]:
|
|
54
|
+
"""Runs CREATE DATABASE on the Windmill Postgres and grants access to the ducklake_user
|
|
55
|
+
|
|
56
|
+
Args:
|
|
57
|
+
name (str):
|
|
58
|
+
|
|
59
|
+
Raises:
|
|
60
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
61
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
62
|
+
|
|
63
|
+
Returns:
|
|
64
|
+
Response[SetupDucklakeCatalogDbResponse200]
|
|
65
|
+
"""
|
|
66
|
+
|
|
67
|
+
kwargs = _get_kwargs(
|
|
68
|
+
name=name,
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
response = client.get_httpx_client().request(
|
|
72
|
+
**kwargs,
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
return _build_response(client=client, response=response)
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def sync(
|
|
79
|
+
name: str,
|
|
80
|
+
*,
|
|
81
|
+
client: Union[AuthenticatedClient, Client],
|
|
82
|
+
) -> Optional[SetupDucklakeCatalogDbResponse200]:
|
|
83
|
+
"""Runs CREATE DATABASE on the Windmill Postgres and grants access to the ducklake_user
|
|
84
|
+
|
|
85
|
+
Args:
|
|
86
|
+
name (str):
|
|
87
|
+
|
|
88
|
+
Raises:
|
|
89
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
90
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
91
|
+
|
|
92
|
+
Returns:
|
|
93
|
+
SetupDucklakeCatalogDbResponse200
|
|
94
|
+
"""
|
|
95
|
+
|
|
96
|
+
return sync_detailed(
|
|
97
|
+
name=name,
|
|
98
|
+
client=client,
|
|
99
|
+
).parsed
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
async def asyncio_detailed(
|
|
103
|
+
name: str,
|
|
104
|
+
*,
|
|
105
|
+
client: Union[AuthenticatedClient, Client],
|
|
106
|
+
) -> Response[SetupDucklakeCatalogDbResponse200]:
|
|
107
|
+
"""Runs CREATE DATABASE on the Windmill Postgres and grants access to the ducklake_user
|
|
108
|
+
|
|
109
|
+
Args:
|
|
110
|
+
name (str):
|
|
111
|
+
|
|
112
|
+
Raises:
|
|
113
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
114
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
115
|
+
|
|
116
|
+
Returns:
|
|
117
|
+
Response[SetupDucklakeCatalogDbResponse200]
|
|
118
|
+
"""
|
|
119
|
+
|
|
120
|
+
kwargs = _get_kwargs(
|
|
121
|
+
name=name,
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
response = await client.get_async_httpx_client().request(**kwargs)
|
|
125
|
+
|
|
126
|
+
return _build_response(client=client, response=response)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
async def asyncio(
|
|
130
|
+
name: str,
|
|
131
|
+
*,
|
|
132
|
+
client: Union[AuthenticatedClient, Client],
|
|
133
|
+
) -> Optional[SetupDucklakeCatalogDbResponse200]:
|
|
134
|
+
"""Runs CREATE DATABASE on the Windmill Postgres and grants access to the ducklake_user
|
|
135
|
+
|
|
136
|
+
Args:
|
|
137
|
+
name (str):
|
|
138
|
+
|
|
139
|
+
Raises:
|
|
140
|
+
errors.UnexpectedStatus: If the server returns an undocumented status code and Client.raise_on_unexpected_status is True.
|
|
141
|
+
httpx.TimeoutException: If the request takes longer than Client.timeout.
|
|
142
|
+
|
|
143
|
+
Returns:
|
|
144
|
+
SetupDucklakeCatalogDbResponse200
|
|
145
|
+
"""
|
|
146
|
+
|
|
147
|
+
return (
|
|
148
|
+
await asyncio_detailed(
|
|
149
|
+
name=name,
|
|
150
|
+
client=client,
|
|
151
|
+
)
|
|
152
|
+
).parsed
|
|
@@ -49,6 +49,8 @@ class CreateScheduleJsonBody:
|
|
|
49
49
|
tag (Union[Unset, str]): The tag of the schedule
|
|
50
50
|
paused_until (Union[Unset, datetime.datetime]): The date and time the schedule will be paused until
|
|
51
51
|
cron_version (Union[Unset, str]): The version of the cron schedule to use (last is v2)
|
|
52
|
+
dynamic_skip (Union[Unset, str]): Path to a script that validates scheduled datetimes. Receives scheduled_for
|
|
53
|
+
datetime and returns boolean.
|
|
52
54
|
"""
|
|
53
55
|
|
|
54
56
|
path: str
|
|
@@ -75,6 +77,7 @@ class CreateScheduleJsonBody:
|
|
|
75
77
|
tag: Union[Unset, str] = UNSET
|
|
76
78
|
paused_until: Union[Unset, datetime.datetime] = UNSET
|
|
77
79
|
cron_version: Union[Unset, str] = UNSET
|
|
80
|
+
dynamic_skip: Union[Unset, str] = UNSET
|
|
78
81
|
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
79
82
|
|
|
80
83
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -118,6 +121,7 @@ class CreateScheduleJsonBody:
|
|
|
118
121
|
paused_until = self.paused_until.isoformat()
|
|
119
122
|
|
|
120
123
|
cron_version = self.cron_version
|
|
124
|
+
dynamic_skip = self.dynamic_skip
|
|
121
125
|
|
|
122
126
|
field_dict: Dict[str, Any] = {}
|
|
123
127
|
field_dict.update(self.additional_properties)
|
|
@@ -167,6 +171,8 @@ class CreateScheduleJsonBody:
|
|
|
167
171
|
field_dict["paused_until"] = paused_until
|
|
168
172
|
if cron_version is not UNSET:
|
|
169
173
|
field_dict["cron_version"] = cron_version
|
|
174
|
+
if dynamic_skip is not UNSET:
|
|
175
|
+
field_dict["dynamic_skip"] = dynamic_skip
|
|
170
176
|
|
|
171
177
|
return field_dict
|
|
172
178
|
|
|
@@ -252,6 +258,8 @@ class CreateScheduleJsonBody:
|
|
|
252
258
|
|
|
253
259
|
cron_version = d.pop("cron_version", UNSET)
|
|
254
260
|
|
|
261
|
+
dynamic_skip = d.pop("dynamic_skip", UNSET)
|
|
262
|
+
|
|
255
263
|
create_schedule_json_body = cls(
|
|
256
264
|
path=path,
|
|
257
265
|
schedule=schedule,
|
|
@@ -277,6 +285,7 @@ class CreateScheduleJsonBody:
|
|
|
277
285
|
tag=tag,
|
|
278
286
|
paused_until=paused_until,
|
|
279
287
|
cron_version=cron_version,
|
|
288
|
+
dynamic_skip=dynamic_skip,
|
|
280
289
|
)
|
|
281
290
|
|
|
282
291
|
create_schedule_json_body.additional_properties = d
|
|
@@ -16,7 +16,7 @@ class DeleteCompletedJobResponse200JobKind(str, Enum):
|
|
|
16
16
|
PREVIEW = "preview"
|
|
17
17
|
SCRIPT = "script"
|
|
18
18
|
SCRIPT_HUB = "script_hub"
|
|
19
|
-
|
|
19
|
+
SINGLESTEPFLOW = "singlestepflow"
|
|
20
20
|
|
|
21
21
|
def __str__(self) -> str:
|
|
22
22
|
return str(self.value)
|
|
@@ -45,6 +45,8 @@ class EditSchedule:
|
|
|
45
45
|
tag (Union[Unset, str]): The tag of the schedule
|
|
46
46
|
paused_until (Union[Unset, datetime.datetime]): The date and time the schedule will be paused until
|
|
47
47
|
cron_version (Union[Unset, str]): The version of the cron schedule to use (last is v2)
|
|
48
|
+
dynamic_skip (Union[Unset, str]): Path to a script that validates scheduled datetimes. Receives scheduled_for
|
|
49
|
+
datetime and returns boolean.
|
|
48
50
|
"""
|
|
49
51
|
|
|
50
52
|
schedule: str
|
|
@@ -67,6 +69,7 @@ class EditSchedule:
|
|
|
67
69
|
tag: Union[Unset, str] = UNSET
|
|
68
70
|
paused_until: Union[Unset, datetime.datetime] = UNSET
|
|
69
71
|
cron_version: Union[Unset, str] = UNSET
|
|
72
|
+
dynamic_skip: Union[Unset, str] = UNSET
|
|
70
73
|
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
71
74
|
|
|
72
75
|
def to_dict(self) -> Dict[str, Any]:
|
|
@@ -106,6 +109,7 @@ class EditSchedule:
|
|
|
106
109
|
paused_until = self.paused_until.isoformat()
|
|
107
110
|
|
|
108
111
|
cron_version = self.cron_version
|
|
112
|
+
dynamic_skip = self.dynamic_skip
|
|
109
113
|
|
|
110
114
|
field_dict: Dict[str, Any] = {}
|
|
111
115
|
field_dict.update(self.additional_properties)
|
|
@@ -150,6 +154,8 @@ class EditSchedule:
|
|
|
150
154
|
field_dict["paused_until"] = paused_until
|
|
151
155
|
if cron_version is not UNSET:
|
|
152
156
|
field_dict["cron_version"] = cron_version
|
|
157
|
+
if dynamic_skip is not UNSET:
|
|
158
|
+
field_dict["dynamic_skip"] = dynamic_skip
|
|
153
159
|
|
|
154
160
|
return field_dict
|
|
155
161
|
|
|
@@ -227,6 +233,8 @@ class EditSchedule:
|
|
|
227
233
|
|
|
228
234
|
cron_version = d.pop("cron_version", UNSET)
|
|
229
235
|
|
|
236
|
+
dynamic_skip = d.pop("dynamic_skip", UNSET)
|
|
237
|
+
|
|
230
238
|
edit_schedule = cls(
|
|
231
239
|
schedule=schedule,
|
|
232
240
|
timezone=timezone,
|
|
@@ -248,6 +256,7 @@ class EditSchedule:
|
|
|
248
256
|
tag=tag,
|
|
249
257
|
paused_until=paused_until,
|
|
250
258
|
cron_version=cron_version,
|
|
259
|
+
dynamic_skip=dynamic_skip,
|
|
251
260
|
)
|
|
252
261
|
|
|
253
262
|
edit_schedule.additional_properties = d
|
|
@@ -0,0 +1,67 @@
|
|
|
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.flow_module_value_2_type_3_parallelism_type_0_type import FlowModuleValue2Type3ParallelismType0Type
|
|
7
|
+
|
|
8
|
+
T = TypeVar("T", bound="FlowModuleValue2Type3ParallelismType0")
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@_attrs_define
|
|
12
|
+
class FlowModuleValue2Type3ParallelismType0:
|
|
13
|
+
"""
|
|
14
|
+
Attributes:
|
|
15
|
+
value (Any):
|
|
16
|
+
type (FlowModuleValue2Type3ParallelismType0Type):
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
value: Any
|
|
20
|
+
type: FlowModuleValue2Type3ParallelismType0Type
|
|
21
|
+
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
22
|
+
|
|
23
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
24
|
+
value = self.value
|
|
25
|
+
type = self.type.value
|
|
26
|
+
|
|
27
|
+
field_dict: Dict[str, Any] = {}
|
|
28
|
+
field_dict.update(self.additional_properties)
|
|
29
|
+
field_dict.update(
|
|
30
|
+
{
|
|
31
|
+
"value": value,
|
|
32
|
+
"type": type,
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
return field_dict
|
|
37
|
+
|
|
38
|
+
@classmethod
|
|
39
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
|
40
|
+
d = src_dict.copy()
|
|
41
|
+
value = d.pop("value")
|
|
42
|
+
|
|
43
|
+
type = FlowModuleValue2Type3ParallelismType0Type(d.pop("type"))
|
|
44
|
+
|
|
45
|
+
flow_module_value_2_type_3_parallelism_type_0 = cls(
|
|
46
|
+
value=value,
|
|
47
|
+
type=type,
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
flow_module_value_2_type_3_parallelism_type_0.additional_properties = d
|
|
51
|
+
return flow_module_value_2_type_3_parallelism_type_0
|
|
52
|
+
|
|
53
|
+
@property
|
|
54
|
+
def additional_keys(self) -> List[str]:
|
|
55
|
+
return list(self.additional_properties.keys())
|
|
56
|
+
|
|
57
|
+
def __getitem__(self, key: str) -> Any:
|
|
58
|
+
return self.additional_properties[key]
|
|
59
|
+
|
|
60
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
61
|
+
self.additional_properties[key] = value
|
|
62
|
+
|
|
63
|
+
def __delitem__(self, key: str) -> None:
|
|
64
|
+
del self.additional_properties[key]
|
|
65
|
+
|
|
66
|
+
def __contains__(self, key: str) -> bool:
|
|
67
|
+
return key in self.additional_properties
|
|
@@ -0,0 +1,67 @@
|
|
|
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.flow_module_value_2_type_3_parallelism_type_1_type import FlowModuleValue2Type3ParallelismType1Type
|
|
7
|
+
|
|
8
|
+
T = TypeVar("T", bound="FlowModuleValue2Type3ParallelismType1")
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@_attrs_define
|
|
12
|
+
class FlowModuleValue2Type3ParallelismType1:
|
|
13
|
+
"""
|
|
14
|
+
Attributes:
|
|
15
|
+
expr (str):
|
|
16
|
+
type (FlowModuleValue2Type3ParallelismType1Type):
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
expr: str
|
|
20
|
+
type: FlowModuleValue2Type3ParallelismType1Type
|
|
21
|
+
additional_properties: Dict[str, Any] = _attrs_field(init=False, factory=dict)
|
|
22
|
+
|
|
23
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
24
|
+
expr = self.expr
|
|
25
|
+
type = self.type.value
|
|
26
|
+
|
|
27
|
+
field_dict: Dict[str, Any] = {}
|
|
28
|
+
field_dict.update(self.additional_properties)
|
|
29
|
+
field_dict.update(
|
|
30
|
+
{
|
|
31
|
+
"expr": expr,
|
|
32
|
+
"type": type,
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
|
|
36
|
+
return field_dict
|
|
37
|
+
|
|
38
|
+
@classmethod
|
|
39
|
+
def from_dict(cls: Type[T], src_dict: Dict[str, Any]) -> T:
|
|
40
|
+
d = src_dict.copy()
|
|
41
|
+
expr = d.pop("expr")
|
|
42
|
+
|
|
43
|
+
type = FlowModuleValue2Type3ParallelismType1Type(d.pop("type"))
|
|
44
|
+
|
|
45
|
+
flow_module_value_2_type_3_parallelism_type_1 = cls(
|
|
46
|
+
expr=expr,
|
|
47
|
+
type=type,
|
|
48
|
+
)
|
|
49
|
+
|
|
50
|
+
flow_module_value_2_type_3_parallelism_type_1.additional_properties = d
|
|
51
|
+
return flow_module_value_2_type_3_parallelism_type_1
|
|
52
|
+
|
|
53
|
+
@property
|
|
54
|
+
def additional_keys(self) -> List[str]:
|
|
55
|
+
return list(self.additional_properties.keys())
|
|
56
|
+
|
|
57
|
+
def __getitem__(self, key: str) -> Any:
|
|
58
|
+
return self.additional_properties[key]
|
|
59
|
+
|
|
60
|
+
def __setitem__(self, key: str, value: Any) -> None:
|
|
61
|
+
self.additional_properties[key] = value
|
|
62
|
+
|
|
63
|
+
def __delitem__(self, key: str) -> None:
|
|
64
|
+
del self.additional_properties[key]
|
|
65
|
+
|
|
66
|
+
def __contains__(self, key: str) -> bool:
|
|
67
|
+
return key in self.additional_properties
|