@Override
    protected void saveAuditRecord(final AuditActionContext audit) {
        val eventJson = serializer.toString(audit);
        val record = Record.builder()
            .data(SdkBytes.fromUtf8String(eventJson))
            .build();
        val request = PutRecordRequest.builder()
            .deliveryStreamName(properties.getDeliveryStreamName())
            .record(record)
            .build();
        val response = firehoseClient.putRecord(request);
        LOGGER.debug("Sent audit event to Firehose delivery stream [{}] and received record ID [{}]",
            properties.getDeliveryStreamName(), response.recordId());
    }
This is {@link AmazonFirehoseAuditTrailManager}.

@author Misagh Moayyed
@since 7.2.0
support/cas-server-support-audit-aws-firehose/src/main/java/org/apereo/cas/audit/AmazonFirehoseAuditTrailManager.java