| 
<?php
 declare(strict_types=1);
 
 namespace MySQLReplication\BinLog;
 
 use MySQLReplication\Exception\MySQLReplicationException;
 
 enum BinLogAuthPluginMode: string
 {
 case MysqlNativePassword = 'mysql_native_password';
 case CachingSha2Password = 'caching_sha2_password';
 
 public static function make(string $authPluginName): self
 {
 $authPlugin = self::tryFrom($authPluginName);
 if ($authPlugin === null) {
 throw new MySQLReplicationException(
 MySQLReplicationException::BINLOG_AUTH_NOT_SUPPORTED,
 MySQLReplicationException::BINLOG_AUTH_NOT_SUPPORTED_CODE
 );
 }
 
 return $authPlugin;
 }
 }
 
 |