class AltusMachineUserService {

    public Optional<AltusCredential> generateDatabusMachineUserForFluent(Stack stack, Telemetry telemetry) {
        if (isMeteringOrAnyDataBusBasedFeatureSupported(stack, telemetry)) {
            return ThreadBasedUserCrnProvider.doAsInternalActor(() -> altusIAMService.generateMachineUserWithAccessKey(
                    getFluentDatabusMachineUserName(stack),
                    ThreadBasedUserCrnProvider.getUserCrn(),
                    Crn.fromString(stack.getResourceCrn()).getAccountId(),
                    telemetry.isUseSharedAltusCredentialEnabled()));
        }
        return Optional.empty();
    }

    public  AltusMachineUserService(AltusIAMService altusIAMService, ClusterService clusterService);

}