40 lines
1.3 KiB
Python
Raw Normal View History

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]:
[WIP] - Test Connection - Prepare the new test connection ingestion+UI logic (#10660) * 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>
2023-03-28 06:29:13 +02:00
if secrets_manager in {
SecretsManagerProvider.aws,
SecretsManagerProvider.managed_aws,
SecretsManagerProvider.aws_ssm,
SecretsManagerProvider.managed_aws_ssm,
[WIP] - Test Connection - Prepare the new test connection ingestion+UI logic (#10660) * 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>
2023-03-28 06:29:13 +02:00
}:
return build_aws_credentials()
[WIP] - Test Connection - Prepare the new test connection ingestion+UI logic (#10660) * 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>
2023-03-28 06:29:13 +02:00
return None