node_info.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. // SPDX-License-Identifier: GPL-3.0-or-later
  2. #ifndef ACLK_SCHEMA_WRAPPER_NODE_INFO_H
  3. #define ACLK_SCHEMA_WRAPPER_NODE_INFO_H
  4. #include <stdlib.h>
  5. #include "database/rrd.h"
  6. #include "capability.h"
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. struct machine_learning_info {
  11. bool ml_capable;
  12. bool ml_enabled;
  13. };
  14. struct aclk_node_info {
  15. char *name;
  16. char *os;
  17. char *os_name;
  18. char *os_version;
  19. char *kernel_name;
  20. char *kernel_version;
  21. char *architecture;
  22. uint32_t cpus;
  23. char *cpu_frequency;
  24. char *memory;
  25. char *disk_space;
  26. char *version;
  27. char *release_channel;
  28. char *timezone;
  29. char *virtualization_type;
  30. char *container_type;
  31. char *custom_info;
  32. char **services;
  33. size_t service_count;
  34. char *machine_guid;
  35. struct label *host_labels_head;
  36. struct machine_learning_info ml_info;
  37. };
  38. struct update_node_info {
  39. char *node_id;
  40. char *claim_id;
  41. struct aclk_node_info data;
  42. struct timeval updated_at;
  43. char *machine_guid;
  44. int child;
  45. struct machine_learning_info ml_info;
  46. struct capability *node_capabilities;
  47. struct capability *node_instance_capabilities;
  48. };
  49. char *generate_update_node_info_message(size_t *len, struct update_node_info *info);
  50. #ifdef __cplusplus
  51. }
  52. #endif
  53. #endif /* ACLK_SCHEMA_WRAPPER_NODE_INFO_H */