主机配置添加系统类型.

This commit is contained in:
lijiahangmax
2024-04-17 00:10:44 +08:00
parent a3e354cea9
commit 7f1f286a7d
11 changed files with 115 additions and 33 deletions

View File

@@ -0,0 +1,44 @@
package com.orion.ops.module.asset.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* 主机系统类型
*
* @author Jiahang Li
* @version 1.0.0
* @since 2024/4/16 21:58
*/
@Getter
@AllArgsConstructor
public enum HostSshOsTypeEnum {
/**
* linux
*/
LINUX(".sh"),
/**
* windows
*/
WINDOWS(".cmd"),
;
private final String scriptSuffix;
public static HostSshOsTypeEnum of(String type) {
if (type == null) {
return null;
}
for (HostSshOsTypeEnum value : values()) {
if (value.name().equals(type)) {
return value;
}
}
return null;
}
}

View File

@@ -38,8 +38,14 @@ public class HostSshConfigModel implements GenericsDataModel, UpdatePasswordActi
@NotBlank
@Size(max = 12)
@Schema(description = "认证方式")
private String authType;
@NotBlank
@Size(max = 12)
@Schema(description = "系统类型")
private String osType;
@Schema(description = "密码")
private String password;

View File

@@ -12,6 +12,7 @@ import com.orion.ops.framework.common.security.PasswordModifier;
import com.orion.ops.framework.common.utils.Valid;
import com.orion.ops.module.asset.dao.HostIdentityDAO;
import com.orion.ops.module.asset.dao.HostKeyDAO;
import com.orion.ops.module.asset.enums.HostSshOsTypeEnum;
import com.orion.ops.module.asset.enums.HostSshAuthTypeEnum;
import com.orion.ops.module.asset.handler.host.config.model.HostSshConfigModel;
import org.springframework.stereotype.Component;
@@ -45,6 +46,7 @@ public class HostSshConfigStrategy implements MapDataStrategy<HostSshConfigModel
.port(SSH_PORT)
.username(USERNAME)
.authType(HostSshAuthTypeEnum.PASSWORD.name())
.osType(HostSshOsTypeEnum.LINUX.name())
.connectTimeout(Const.MS_S_10)
.charset(Const.UTF_8)
.fileNameCharset(Const.UTF_8)
@@ -56,6 +58,8 @@ public class HostSshConfigStrategy implements MapDataStrategy<HostSshConfigModel
public void preValid(HostSshConfigModel model) {
// 验证认证类型
Valid.valid(HostSshAuthTypeEnum::of, model.getAuthType());
// 验证系统版本
Valid.valid(HostSshOsTypeEnum::of, model.getOsType());
// 验证编码格式
this.validCharset(model.getCharset());
this.validCharset(model.getFileNameCharset());

View File

@@ -21,7 +21,7 @@ import lombok.NoArgsConstructor;
@Schema(name = "HostExtraSshModel", description = "主机拓展信息 - color 模型")
public class HostColorExtraModel implements GenericsDataModel {
@Schema(description = "颜色")
@Schema(description = "标签 tab 颜色")
private String color;
}