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')