def get_aws_credentials_optional(parser: Parser): access_key_id = parser.get_str_optional_env('access_key_id') role_arn = parser.get_str_optional_env('role_arn') if access_key_id or role_arn: return AwsCredentials( access_key_id=access_key_id, secret_access_key=parser.get_credential('secret_access_key'), role_arn=parser.get_str_optional_env('role_arn'), session_token=parser.get_credential('session_token'), region_name=parser.get_str_optional_env('region', 'eu-west-1'))
def __init__(self, parser: Parser): super().__init__(SNOWFLAKE) if parser: self.account = parser.get_str_required_env('account') self.warehouse = parser.get_str_required_env('warehouse') self.username = parser.get_str_required_env('username') self.password = parser.get_credential('password') self.database = parser.get_str_optional_env('database') self.schema = parser.get_str_required_env('schema') self.role = parser.get_str_optional('role') self.passcode_in_password = parser.get_bool_optional( 'passcode_in_password', False) self.private_key_passphrase = parser.get_str_optional( 'private_key_passphrase') self.private_key = parser.get_str_optional('private_key') self.private_key_path = parser.get_str_optional('private_key_path') self.client_prefetch_threads = parser.get_int_optional( 'client_prefetch_threads', 4) self.client_session_keep_alive = parser.get_bool_optional( 'client_session_keep_alive', False) self.authenticator = parser.get_str_optional( 'authenticator', 'snowflake') self.session_params = parser.get_dict_optional( 'session_parameters', None) self.connection_timeout = parser.get_int_optional( KEY_CONNECTION_TIMEOUT, DEFAULT_SOCKET_CONNECT_TIMEOUT)
def __init__(self, parser: Parser, type: str = POSTGRES): super().__init__(type) self.host = parser.get_str_optional_env('host', 'localhost') self.port = parser.get_str_optional_env('port', '5432') self.username = parser.get_str_required_env('username') self.password = parser.get_credential('password') self.database = parser.get_str_required_env('database') self.schema = parser.get_str_required_env('schema')
def __init__(self, parser: Parser = None, type: str = MYSQL): super().__init__(type) if parser: self.host = parser.get_str_optional_env('host', 'localhost') self.port = parser.get_str_optional_env('port', '3306') self.username = parser.get_str_required_env('username') self.password = parser.get_credential('password') self.database = parser.get_str_required_env('database')
def __init__(self, parser: Parser): super().__init__(SNOWFLAKE) self.account = parser.get_str_required_env('account') self.warehouse = parser.get_str_required_env('warehouse') self.username = parser.get_str_required_env('username') self.password = parser.get_credential('password') self.database = parser.get_str_optional_env('database') self.schema = parser.get_str_required_env('schema')
def __init__(self, parser: Parser): super().__init__(SNOWFLAKE) if parser: self.account = parser.get_str_required_env('account') self.warehouse = parser.get_str_required_env('warehouse') self.username = parser.get_str_required_env('username') self.password = parser.get_credential('password') self.database = parser.get_str_optional_env('database') self.schema = parser.get_str_required_env('schema') self.connection_timeout = parser.get_int_optional(KEY_CONNECTION_TIMEOUT, DEFAULT_SOCKET_CONNECT_TIMEOUT)
def __init__(self, parser: Parser = None, type: str = SQLSERVER): super().__init__(type) if parser: self.host = parser.get_str_optional_env('host', 'localhost') self.port = parser.get_str_optional_env('port', '1433') self.driver = parser.get_str_optional_env('driver', 'ODBC Driver 17 for SQL Server') self.username = parser.get_str_required_env('username') self.password = parser.get_credential('password') self.database = parser.get_str_required_env('database') self.schema = parser.get_str_required_env('schema')
def __init__(self, parser: Parser = None, type: str = POSTGRES): super().__init__(type) if parser: self.host = parser.get_str_optional_env('host', 'localhost') self.port = parser.get_str_optional_env('port', '5432') self.username = parser.get_str_required_env('username') self.password = parser.get_credential('password') self.database = parser.get_str_required_env('database') self.schema = parser.get_str_required_env('schema') self.connection_timeout = parser.get_int_optional(KEY_CONNECTION_TIMEOUT)
def __init__(self, parser: Parser): super().__init__(SPARK) if parser: self.method = parser.get_str_optional('method', 'hive') self.host = parser.get_str_required('host') self.port = parser.get_int_optional('port', '10000') self.username = parser.get_credential('username') self.password = parser.get_credential('password') self.database = parser.get_str_optional('database') self.auth_method = parser.get_str_optional('authentication', None) self.configuration = parser.get_dict_optional('configuration', {}) self.driver = parser.get_str_optional('driver', None) self.token = parser.get_credential('token') self.organization = parser.get_str_optional('organization', None) self.cluster = parser.get_str_optional('cluster', None) self.server_side_parameters = { f"SSP_{k}": f"{{{v}}}" for k, v in parser.get_dict_optional("server_side_parameters", {}) }
def __parse_json_credential(credential_name, parser: Parser): account_info_path = parser.get_str_optional('account_info_json_path') try: if account_info_path: account_info = parser._read_file_as_string(account_info_path) if account_info is not None: return json.loads(account_info) else: cred = parser.get_credential(credential_name) # Prevent json load when the Dialect is init from create command if cred is not None: return json.loads(cred) else: logger.warning("Dialect initiated from the create command, cred is None.") except JSONDecodeError as e: parser.error(f'Error parsing credential {credential_name}: {e}', credential_name)
def __init__(self, parser: Parser = None, type: str = SQLSERVER): super().__init__(type) if parser: self.host = parser.get_str_optional_env('host', 'localhost') self.port = parser.get_str_optional_env('port', '1433') self.driver = parser.get_str_optional_env( 'driver', 'ODBC Driver 17 for SQL Server') self.username = parser.get_str_required_env('username') self.password = parser.get_credential('password') self.database = parser.get_str_required_env('database') self.schema = parser.get_str_required_env('schema') self.trusted_connection = parser.get_bool_optional( 'trusted_connection', False) self.encrypt = parser.get_bool_optional('encrypt', False) self.trust_server_certificate = parser.get_bool_optional( 'trust_server_certificate', False)