mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-07-18 22:53:09 +00:00
29 lines
1000 B
Python
29 lines
1000 B
Python
from airflow.configuration import conf
|
|
from pydantic import SecretStr
|
|
|
|
from metadata.generated.schema.entity.services.connections.metadata.openMetadataConnection import (
|
|
SecretsManagerProvider,
|
|
)
|
|
from metadata.generated.schema.security.credentials.awsCredentials import AWSCredentials
|
|
from metadata.utils.secrets_manager import SECRET_MANAGER_AIRFLOW_CONF
|
|
|
|
|
|
def build_aws_credentials():
|
|
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 = SecretStr(
|
|
conf.get(SECRET_MANAGER_AIRFLOW_CONF, "aws_secret_access_key", fallback="")
|
|
)
|
|
return credentials
|
|
|
|
|
|
def build_secrets_manager_credentials(secrets_manager: SecretsManagerProvider):
|
|
if secrets_manager == SecretsManagerProvider.aws:
|
|
return build_aws_credentials()
|
|
else:
|
|
return None
|