Source code for schrodinger.application.steps.env_keys

"""
Environment keys in use by AutoDesigner Stepper framework for third-party
libraries.
"""
import os

# GCP API Key
SCHRODINGER_GCP_KEY_ID = 'SCHRODINGER_GCP_KEY'
SCHRODINGER_GCP_KEY = os.getenv(SCHRODINGER_GCP_KEY_ID)

# Equivalent to AWS_ACCESS_KEY_ID
SCHRODINGER_AWS_KEY_ID = 'SCHRODINGER_AWS_ACCESS_KEY_ID'
SCHRODINGER_AWS_KEY = os.getenv(SCHRODINGER_AWS_KEY_ID)

# Equivalent to AWS_SECRET_ACCESS_KEY
SCHRODINGER_AWS_SECRET_KEY_ID = 'SCHRODINGER_AWS_SECRET_ACCESS_KEY'
SCHRODINGER_AWS_SECRET_KEY = os.getenv(SCHRODINGER_AWS_SECRET_KEY_ID)

# AWS availability - Note this is to accommodate when access keys are set under
# ~/.aws/config or /credentials
AWS_PROFILE = os.getenv('SCHRODINGER_AWS_PROFILE')
SCHRODINGER_AWS_ENABLED_ID = 'SCHRODINGER_AWS_ENABLED'

# Equivalent to AWS_DEFAULT_REGION
REGION = os.environ.get('SCHRODINGER_AWS_DEFAULT_REGION')

# AWS Redshift settings
REDSHIFT_CLUSTER_ID = os.getenv('SCHRODINGER_AWS_REDSHIFT_CLUSTER_ID')
REDSHIFT_DATABASE = os.getenv('SCHRODINGER_AWS_REDSHIFT_DATABASE')
REDSHIFT_DB_USER = os.getenv('SCHRODINGER_AWS_REDSHIFT_DATABASE_USER')
REDSHIFT_S3_IAM_ROLE = os.getenv('SCHRODINGER_AWS_REDSHIFT_S3_IAM_ROLE')

# AWS S3 settings
S3_BUCKET_NAME = os.getenv('SCHRODINGER_AWS_S3_BUCKET')

# AWS general service settings
CLOUD_ARTIFACT_PREFIX = os.getenv('SCHRODINGER_PUBSUB_TOPIC_PREFIX', 'AD_test')


[docs]def has_cloud_services() -> bool: """ Check whether any environment variable to support cloud services is set. """ return any([SCHRODINGER_GCP_KEY, is_aws_service_available()])
[docs]def is_aws_service_available() -> bool: """ Check whether AWS support has been enabled either explicitly set by the environment variable or any AWS credentials. """ if all([SCHRODINGER_AWS_KEY, SCHRODINGER_AWS_SECRET_KEY]): return True env_var = os.getenv(SCHRODINGER_AWS_ENABLED_ID, False) return env_var in ('1', 'True')