ConfigVO.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. package cn.seecoder.paas.service.model.vo;
  2. import cn.seecoder.paas.util.enums.ConfigBelongsToType;
  3. import com.fasterxml.jackson.annotation.JsonIgnore;
  4. import com.fasterxml.jackson.annotation.JsonProperty;
  5. import lombok.AllArgsConstructor;
  6. import lombok.Data;
  7. import lombok.NoArgsConstructor;
  8. import java.util.Collections;
  9. import java.util.Map;
  10. @Data
  11. @NoArgsConstructor
  12. @AllArgsConstructor
  13. public class ConfigVO {
  14. private Integer id;
  15. private ConfigBelongsToType configBelongs;
  16. private Integer entityId;
  17. private ConfigContent config;
  18. private static final ConfigContent EMPTY_CONFIG_CONTENT;
  19. static {
  20. EMPTY_CONFIG_CONTENT = new ConfigContent(null, Collections.emptyMap(), null, null, Collections.emptyMap(), null, null);
  21. }
  22. public static ConfigVO getEmptyConfigVO(ConfigBelongsToType configBelongs, Integer entityId) {
  23. ConfigVO configVO = new ConfigVO();
  24. configVO.setEntityId(entityId);
  25. configVO.setConfigBelongs(configBelongs);
  26. configVO.setConfig(EMPTY_CONFIG_CONTENT);
  27. return configVO;
  28. }
  29. @Data
  30. @AllArgsConstructor
  31. @NoArgsConstructor
  32. public static class ConfigContent {
  33. /**
  34. * 服务端口
  35. */
  36. @JsonProperty("servicePort")
  37. private String servicePort;
  38. /**
  39. * 环境变量配置
  40. */
  41. @JsonProperty("envs")
  42. private Map<String, String> envs;
  43. /**
  44. * 启动参数配置 CMD space split
  45. */
  46. @JsonProperty("runArgs")
  47. private String runArgs;
  48. /**
  49. * 运行命令配置 ENTRYPOINT space split
  50. */
  51. @JsonProperty("runCommands")
  52. private String runCommands;
  53. /**
  54. * 挂载文件配置
  55. */
  56. @JsonProperty("mounts")
  57. private Map<String, String> mounts;
  58. @JsonProperty("hostPrefix")
  59. private String hostPrefix;
  60. @JsonProperty("replicas")
  61. private Integer replicas;
  62. @JsonIgnore()
  63. public boolean isValid() {
  64. return servicePort != null && hostPrefix != null;
  65. }
  66. }
  67. }