11# SPDX-FileCopyrightText: 2023-2024 MTS PJSC
22# SPDX-License-Identifier: Apache-2.0
3- from dataclasses import dataclass
3+ from dataclasses import dataclass , field
44from typing import ClassVar , Literal
55
66
@@ -15,8 +15,8 @@ class PostgresConnectionDTO(ConnectionDTO):
1515 port : int
1616 user : str
1717 password : str
18- additional_params : dict
1918 database_name : str
19+ additional_params : dict = field (default_factory = dict )
2020 type : ClassVar [str ] = "postgres"
2121
2222
@@ -26,8 +26,8 @@ class ClickhouseConnectionDTO(ConnectionDTO):
2626 port : int
2727 user : str
2828 password : str
29- database_name : str
30- additional_params : dict
29+ database_name : str | None = None
30+ additional_params : dict = field ( default_factory = dict )
3131 type : ClassVar [str ] = "clickhouse"
3232
3333
@@ -38,7 +38,7 @@ class MSSQLConnectionDTO(ConnectionDTO):
3838 user : str
3939 password : str
4040 database_name : str
41- additional_params : dict
41+ additional_params : dict = field ( default_factory = dict )
4242 type : ClassVar [str ] = "mssql"
4343
4444
@@ -48,8 +48,8 @@ class MySQLConnectionDTO(ConnectionDTO):
4848 port : int
4949 user : str
5050 password : str
51- database_name : str
52- additional_params : dict
51+ database_name : str | None = None
52+ additional_params : dict = field ( default_factory = dict )
5353 type : ClassVar [str ] = "mysql"
5454
5555
@@ -59,7 +59,7 @@ class OracleConnectionDTO(ConnectionDTO):
5959 port : int
6060 user : str
6161 password : str
62- additional_params : dict
62+ additional_params : dict = field ( default_factory = dict )
6363 sid : str | None = None
6464 service_name : str | None = None
6565 type : ClassVar [str ] = "oracle"
@@ -91,7 +91,7 @@ class IcebergRESTCatalogS3DirectConnectionBaseDTO(IcebergConnectionBaseDTO):
9191 s3_secret_key : str
9292 s3_port : int | None
9393 s3_protocol : str
94- s3_additional_params : dict
94+ s3_additional_params : dict = field ( default_factory = dict )
9595 implementation : ClassVar [str ] = "iceberg_rest_s3_direct"
9696
9797
@@ -175,7 +175,7 @@ class S3ConnectionDTO(ConnectionDTO):
175175 secret_key : str
176176 bucket : str
177177 bucket_style : Literal ["domain" , "path" ]
178- additional_params : dict
178+ additional_params : dict = field ( default_factory = dict )
179179 region : str | None = None
180180 protocol : str = "https"
181181 type : ClassVar [str ] = "s3"
@@ -212,9 +212,9 @@ class FTPSConnectionDTO(ConnectionDTO):
212212class SambaConnectionDTO (ConnectionDTO ):
213213 host : str
214214 share : str
215- protocol : Literal ["SMB" , "NetBIOS" ]
216215 user : str
217216 password : str
217+ protocol : Literal ["SMB" , "NetBIOS" ] = "SMB"
218218 auth_type : Literal ["NTLMv1" , "NTLMv2" ] = "NTLMv2"
219219 domain : str = ""
220220 port : int | None = None
0 commit comments