mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-24 01:40:00 +00:00

* Prepare the new test connection ingestion logic * Update test assert * Update Test Connection for SQA Sources * Correct return type and method doc * Handle decryption * Non SQA Database Sources * Add the run_automation script in ingestion-base * Dashboard Test Connection Changes * Pipeline, Messagin, MlModel & Metadata Sources * ui: test connect flow-1 * Unmask connection parameters before sending to Ariflow * ui: test connect flow-2 * Address review comments and pylint * pytest fix * ui: test connect flow-3 (refactoring and style fix) * ui: test connect flow-4 (fix test connection status logic) * sync local file * ui: test connect flow-5 (fix lowercase issue and styling) * ui: test connect flow-5 (show toast notifications) * test: add unit test * ui: test connect flow-5 (update service page test connection button) * Databrick fix & pytest fix * pylint * Update test * Fix merge * S3 Test connection * add style for mandatory step * sync locales * chore: add service name in workflow request * Unmask using original service connection parameters * Fix test connection unmasking * Wrap inspector function to eliminate error outside test conn * Fix linting * fix:cy test * Fix linting * address comment * refactor and fix connection type casing issue --------- Co-authored-by: ulixius9 <mayursingal9@gmail.com> Co-authored-by: Sachin Chaurasiya <sachinchaurasiyachotey87@gmail.com> Co-authored-by: Nahuel Verdugo Revigliono <nahuel@getcollate.io> Co-authored-by: Mayur Singal <39544459+ulixius9@users.noreply.github.com>
40 lines
1.3 KiB
Python
40 lines
1.3 KiB
Python
from typing import Optional
|
|
|
|
from airflow.configuration import conf
|
|
|
|
from metadata.generated.schema.security.credentials.awsCredentials import AWSCredentials
|
|
from metadata.generated.schema.security.secrets.secretsManagerProvider import (
|
|
SecretsManagerProvider,
|
|
)
|
|
from metadata.ingestion.models.custom_pydantic import CustomSecretStr
|
|
from metadata.utils.secrets.secrets_manager import SECRET_MANAGER_AIRFLOW_CONF
|
|
|
|
|
|
def build_aws_credentials() -> Optional[AWSCredentials]:
|
|
if conf.has_section(SECRET_MANAGER_AIRFLOW_CONF):
|
|
credentials = AWSCredentials(
|
|
awsRegion=conf.get(SECRET_MANAGER_AIRFLOW_CONF, "aws_region", fallback="")
|
|
)
|
|
credentials.awsAccessKeyId = conf.get(
|
|
SECRET_MANAGER_AIRFLOW_CONF, "aws_access_key_id", fallback=""
|
|
)
|
|
credentials.awsSecretAccessKey = CustomSecretStr(
|
|
conf.get(SECRET_MANAGER_AIRFLOW_CONF, "aws_secret_access_key", fallback="")
|
|
)
|
|
return credentials
|
|
return None
|
|
|
|
|
|
def build_secrets_manager_credentials(
|
|
secrets_manager: SecretsManagerProvider,
|
|
) -> Optional[AWSCredentials]:
|
|
if secrets_manager in {
|
|
SecretsManagerProvider.aws,
|
|
SecretsManagerProvider.managed_aws,
|
|
SecretsManagerProvider.aws_ssm,
|
|
SecretsManagerProvider.managed_aws_ssm,
|
|
}:
|
|
return build_aws_credentials()
|
|
|
|
return None
|