airflow.contrib.secrets.aws_secrets_manager¶
Objects relating to sourcing secrets from AWS Secrets Manager
Module Contents¶
-
class
airflow.contrib.secrets.aws_secrets_manager.SecretsManagerBackend(connections_prefix='airflow/connections', variables_prefix='airflow/variables', config_prefix='airflow/config', profile_name=None, sep='/', **kwargs)[source]¶ Bases:
airflow.secrets.BaseSecretsBackend,airflow.utils.log.logging_mixin.LoggingMixinRetrieves Connection or Variables from AWS Secrets Manager
Configurable via
airflow.cfglike so:[secrets] backend = airflow.contrib.secrets.aws_secrets_manager.SecretsManagerBackend backend_kwargs = {"connections_prefix": "airflow/connections"}
For example, if secrets prefix is
airflow/connections/smtp_default, this would be accessible if you provide{"connections_prefix": "airflow/connections"}and request conn_idsmtp_default. If variables prefix isairflow/variables/hello, this would be accessible if you provide{"variables_prefix": "airflow/variables"}and request variable keyhello. And if config_prefix isairflow/config/sql_alchemy_conn, this would be accessible if you provide{"config_prefix": "airflow/config"}and request config keysql_alchemy_conn.You can also pass additional keyword arguments like
aws_secret_access_key,aws_access_key_idorregion_nameto this class and they would be passed on to Boto3 client.- Parameters
connections_prefix (str) – Specifies the prefix of the secret to read to get Connections.
variables_prefix (str) – Specifies the prefix of the secret to read to get Variables.
config_prefix (str) – Specifies the prefix of the secret to read to get Variables.
profile_name (str) – The name of a profile to use. If not given, then the default profile is used.
sep (str) – separator used to concatenate secret_prefix and secret_id. Default: “/”
-
get_variable(self, key)[source]¶ Get Airflow Variable
- Parameters
key – Variable Key
- Returns
Variable Value