def retrieve_lambda_parameters()

in sam-app/lambda_functions/sfExecuteAWSService.py [0:0]


def retrieve_lambda_parameters(ConnectInstanceAlias):
    connect_client = boto3.client("connect")
    cloudformation_client = boto3.client("cloudformation")
    cloudformation_stack_id = os.environ["CLOUDFORMATION_STACK_ID"]

    connectInstanceId = getConnectInstanceIdFromInstanceAlias(ConnectInstanceAlias, connect_client)

    connectRecordingS3BucketName = connect_client.list_instance_storage_configs(
        InstanceId=connectInstanceId, ResourceType="CALL_RECORDINGS"
    )["StorageConfigs"][0]["S3Config"]["BucketName"]
    transcribeOutputS3BucketName = connect_client.list_instance_storage_configs(
        InstanceId=connectInstanceId, ResourceType="CHAT_TRANSCRIPTS"
    )["StorageConfigs"][0]["S3Config"]["BucketName"]
    connectReportingS3BucketName = connect_client.list_instance_storage_configs(
        InstanceId=connectInstanceId, ResourceType="SCHEDULED_REPORTS"
    )["StorageConfigs"][0]["S3Config"]["BucketName"]
    ctrKinesisARN = connect_client.list_instance_storage_configs(
        InstanceId=connectInstanceId, ResourceType="CONTACT_TRACE_RECORDS"
    )["StorageConfigs"][0]["KinesisStreamConfig"]["StreamArn"]

    result = {
        "connectInstanceId": connectInstanceId,
        "connectRecordingS3BucketName": connectRecordingS3BucketName,
        "transcribeOutputS3BucketName": transcribeOutputS3BucketName,
        "connectReportingS3BucketName": connectReportingS3BucketName,
        "ctrKinesisARN": ctrKinesisARN,
        "cloudFormationStackId": cloudformation_stack_id
    }
    logger.info("result: %s" % json.dumps(result))
    return result