"""Amazon Step Functions Connector.""" import boto3 from daemon_asset_copy import config from daemon_asset_copy.connectors import logger def get_stepfunctions_client(): """Get stepfunctions client. Returns: boto3.client.SFN: stepfunctions client. """ # Until localstack officially supports step functions, use our own hack. if config.SFN_ENDPOINT: return _FakeSfnClient() else: return boto3.session.Session().client( 'stepfunctions', region_name=config.AWS_REGION, config=boto3.session.Config(read_timeout=70), ) class _FakeSfnClient(object): def send_task_failure(self, **kwargs): log = logger.get_current_logger() log.debug(f'Task failure ${kwargs})') def send_task_success(self, **kwargs): log = logger.get_current_logger() log.debug(f'Task success ${kwargs}') def send_task_heartbeat(self, **kwargs): log = logger.get_current_logger() log.debug(f'Task send heartbeat ${kwargs}')