Service.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System.Text;
  2. namespace RackPeek.Domain.Resources.Services;
  3. public class Service : Resource
  4. {
  5. public const string KindLabel = "Service";
  6. public Network? Network { get; set; }
  7. public string? RunsOn { get; set; }
  8. public string NetworkString()
  9. {
  10. if (Network == null) return string.Empty;
  11. if (!string.IsNullOrEmpty(Network.Url)) return Network.Url;
  12. var stringBuilder = new StringBuilder();
  13. if (!string.IsNullOrEmpty(Network.Ip))
  14. {
  15. stringBuilder.Append("Ip: ");
  16. stringBuilder.Append(Network.Ip);
  17. if (Network.Port.HasValue)
  18. {
  19. stringBuilder.Append(':');
  20. stringBuilder.Append(Network.Port.Value);
  21. }
  22. stringBuilder.Append(' ');
  23. }
  24. return stringBuilder.ToString();
  25. }
  26. }
  27. public class Network
  28. {
  29. public string? Ip { get; set; }
  30. public int? Port { get; set; }
  31. public string? Protocol { get; set; }
  32. public string? Url { get; set; }
  33. }