Skip to content

Commit 53b55a4

Browse files
committed
Add v2.5.0
1 parent 82177c3 commit 53b55a4

100 files changed

Lines changed: 407 additions & 348 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
import httpx
2+
from pydantic import TypeAdapter, validate_call
3+
4+
from ...models import Client
5+
from ..models import Error
6+
from ..models.v3 import FilesystemOperationOrder
7+
8+
9+
@validate_call()
10+
def _build_request(
11+
client: Client,
12+
id: str,
13+
source: str,
14+
target: str,
15+
operation: FilesystemOperationOrder,
16+
bandwidth_limit_kbit: int = None,
17+
retries: int = None,
18+
timeout: float = None,
19+
):
20+
data = {
21+
"source": source,
22+
"operation": operation,
23+
"target": target,
24+
"bandwidth_limit_kbit": bandwidth_limit_kbit,
25+
}
26+
if not retries:
27+
retries = client.retries
28+
if not timeout:
29+
timeout = client.timeout
30+
return {
31+
"method": "put",
32+
"url": f"{client.base_url}/api/v3/cluster/node/{id}/fs",
33+
"headers": client.headers,
34+
"timeout": timeout,
35+
"content": None,
36+
"json": data,
37+
}, retries
38+
39+
40+
def _build_response(response: httpx.Response):
41+
if response.status_code == 200:
42+
response_200 = response.json()
43+
return response_200
44+
else:
45+
response_error = TypeAdapter(Error).validate_python(response.json())
46+
return response_error
47+
48+
49+
def sync(client: Client, **kwargs):
50+
request, retries = _build_request(client, **kwargs)
51+
transport = httpx.HTTPTransport(retries=retries)
52+
httpx_client = httpx.Client(transport=transport, http2=True)
53+
response = httpx_client.request(**request)
54+
return _build_response(response=response)
55+
56+
57+
async def asyncio(client: Client, **kwargs):
58+
request, retries = _build_request(client, **kwargs)
59+
transport = httpx.AsyncHTTPTransport(retries=retries)
60+
async with httpx.AsyncClient(transport=transport) as httpx_client:
61+
response = await httpx_client.request(**request)
62+
return _build_response(response=response)

core_client/base/api/v3_iam_put_user_policy.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
def _build_request(
1212
client: Client,
1313
name: str,
14-
config: List[IamUserPolicy],
14+
config: list[IamUserPolicy],
1515
domain: str = "",
1616
retries: int = None,
1717
timeout: float = None,
@@ -42,7 +42,7 @@ def _build_request(
4242

4343
def _build_response(response: httpx.Response):
4444
if response.status_code == 200:
45-
response_200 = TypeAdapter(List[IamUserPolicy]).validate_python(response.json())
45+
response_200 = TypeAdapter(list[IamUserPolicy]).validate_python(response.json())
4646
return response_200
4747
else:
4848
response_error = TypeAdapter(Error).validate_python(response.json())

core_client/base/api/v3_process_get_report_list.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
def _build_request(
1212
client: Client,
1313
id: str,
14-
created_at: Union[str, int] = "",
15-
exited_at: Union[str, int] = "",
14+
created_at: str | int = "",
15+
exited_at: str | int = "",
1616
domain: str = "",
1717
retries: int = None,
1818
timeout: float = None,

core_client/base/models/about.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,18 @@
55

66
class AboutVersion(BaseModel):
77
number: str
8-
repository_commit: Optional[str] = None
9-
repository_branch: Optional[str] = None
10-
build_date: Optional[Union[datetime, str]] = None
11-
arch: Optional[str] = None
12-
compiler: Optional[str] = None
8+
repository_commit: str | None = None
9+
repository_branch: str | None = None
10+
build_date: datetime | str | None = None
11+
arch: str | None = None
12+
compiler: str | None = None
1313

1414

1515
class About(BaseModel):
1616
app: str
17-
auths: Optional[List[str]] = None
18-
created_at: Optional[datetime] = None
19-
id: Optional[str] = None
20-
name: Optional[str] = None
21-
uptime_seconds: Optional[int] = None
17+
auths: list[str] | None = None
18+
created_at: datetime | None = None
19+
id: str | None = None
20+
name: str | None = None
21+
uptime_seconds: int | None = None
2222
version: AboutVersion

core_client/base/models/error.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
class Error(BaseModel):
66
code: int
77
message: str
8-
details: List[Any]
8+
details: list[Any]

core_client/base/models/login.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33

44

55
class Token(BaseModel):
6-
access_token: Optional[str] = None
7-
refresh_token: Optional[str] = None
8-
expires_at: Optional[int] = None
6+
access_token: str | None = None
7+
refresh_token: str | None = None
8+
expires_at: int | None = None
99

1010

1111
class AccessToken(BaseModel):

core_client/base/models/v3/cluster.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,14 +25,14 @@ class Cluster(BaseModel):
2525
"""
2626

2727
id: str
28-
name: Optional[str] = None
29-
leader: Union[bool, ClusterLeader]
30-
public_domains: Optional[List[str]] = None
31-
address: Optional[str] = None
28+
name: str | None = None
29+
leader: bool | ClusterLeader
30+
public_domains: list[str] | None = None
31+
address: str | None = None
3232
raft: ClusterRaft
3333
nodes: list[ClusterNode]
3434
version: str
3535
degraded: bool
3636
degraded_error: str
3737
status: str
38-
38+

core_client/base/models/v3/cluster_node_files.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ class ClusterNodeFiles(BaseModel):
2020
}
2121
"""
2222

23-
files: Dict[str, List[str]]
23+
files: dict[str, list[str]]
2424
last_update: int

core_client/base/models/v3/cluster_reallocation_node.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ class ClusterReallocationNode(BaseModel):
1717
]
1818
"""
1919

20-
target_node_id: Optional[str] = ""
20+
target_node_id: str | None = ""
2121
process_ids: list[ClusterReallocationNodeProcess]

core_client/base/models/v3/config.py

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -57,25 +57,25 @@ class Config(BaseModel):
5757
}
5858
"""
5959

60-
created_at: Optional[str] = None
61-
version: Optional[int] = None
62-
id: Optional[str] = None
63-
name: Optional[str] = None
64-
address: Optional[str] = None
65-
log: Optional[ConfigLog] = None
66-
db: Optional[ConfigDb] = None
67-
host: Optional[ConfigHost] = None
68-
api: Optional[ConfigApi] = None
69-
tls: Optional[ConfigTls] = None
70-
rtmp: Optional[ConfigRtmp] = None
71-
srt: Optional[ConfigSrt] = None
72-
storage: Optional[ConfigStorage] = None
73-
ffmpeg: Optional[ConfigFfmpeg] = None
74-
playout: Optional[ConfigPlayout] = None
75-
resources: Optional[ConfigResources] = None
76-
debug: Optional[ConfigDebug] = None
77-
metrics: Optional[ConfigMetrics] = None
78-
sessions: Optional[ConfigSessions] = None
79-
service: Optional[ConfigService] = None
80-
router: Optional[ConfigRouter] = None
81-
cluster: Optional[ConfigCluster] = None
60+
created_at: str | None = None
61+
version: int | None = None
62+
id: str | None = None
63+
name: str | None = None
64+
address: str | None = None
65+
log: ConfigLog | None = None
66+
db: ConfigDb | None = None
67+
host: ConfigHost | None = None
68+
api: ConfigApi | None = None
69+
tls: ConfigTls | None = None
70+
rtmp: ConfigRtmp | None = None
71+
srt: ConfigSrt | None = None
72+
storage: ConfigStorage | None = None
73+
ffmpeg: ConfigFfmpeg | None = None
74+
playout: ConfigPlayout | None = None
75+
resources: ConfigResources | None = None
76+
debug: ConfigDebug | None = None
77+
metrics: ConfigMetrics | None = None
78+
sessions: ConfigSessions | None = None
79+
service: ConfigService | None = None
80+
router: ConfigRouter | None = None
81+
cluster: ConfigCluster | None = None

0 commit comments

Comments
 (0)