]>
Commit | Line | Data |
---|---|---|
134a2bb8 TM |
1 | import 'package:built_value/built_value.dart'; |
2 | import 'package:built_value/serializer.dart'; | |
947d1f5f | 3 | import 'package:proxmox_dart_api_client/proxmox_dart_api_client.dart'; |
134a2bb8 TM |
4 | import 'package:proxmox_dart_api_client/src/models/pve_ha_manger_service_status_model.dart'; |
5 | ||
6 | part 'pve_nodes_qemu_status_model.g.dart'; | |
7 | ||
8 | abstract class PveQemuStatusModel | |
9 | implements Built<PveQemuStatusModel, PveQemuStatusModelBuilder> { | |
10 | static Serializer<PveQemuStatusModel> get serializer => | |
11 | _$pveQemuStatusModelSerializer; | |
12 | ||
13 | PveHAMangerServiceStatusModel get ha; | |
947d1f5f | 14 | String get status; |
134a2bb8 TM |
15 | @nullable |
16 | bool get agent; | |
17 | @nullable | |
18 | String get name; | |
19 | @nullable | |
20 | String get pid; | |
21 | @nullable | |
22 | Duration get uptime; | |
23 | @nullable | |
24 | double get cpus; | |
25 | @nullable | |
26 | double get diskread; | |
27 | @nullable | |
28 | double get diskwrite; | |
29 | @nullable | |
30 | double get netin; | |
31 | @nullable | |
32 | double get netout; | |
33 | @nullable | |
34 | double get mem; | |
35 | @nullable | |
36 | int get maxmem; | |
37 | @nullable | |
38 | int get maxdisk; | |
39 | @nullable | |
40 | int get maxcpu; | |
41 | @nullable | |
42 | int get disk; | |
947d1f5f TM |
43 | @nullable |
44 | String get qmpstatus; | |
45 | @nullable | |
46 | String get lock; | |
47 | @nullable | |
9691efe3 | 48 | bool get template; |
5e120fa1 TM |
49 | @nullable |
50 | bool get spice; | |
134a2bb8 TM |
51 | |
52 | PveQemuStatusModel._(); | |
53 | factory PveQemuStatusModel( | |
54 | [void Function(PveQemuStatusModelBuilder) updates]) = | |
55 | _$PveQemuStatusModel; | |
134a2bb8 | 56 | |
947d1f5f TM |
57 | PveResourceStatusType getQemuStatus() { |
58 | if (status == 'running') { | |
59 | switch (qmpstatus) { | |
60 | case 'running': | |
61 | return PveResourceStatusType.running; | |
62 | break; | |
63 | case 'paused': | |
64 | return PveResourceStatusType.paused; | |
65 | break; | |
66 | default: | |
67 | if (lock == 'suspending') { | |
68 | return PveResourceStatusType.suspending; | |
69 | } | |
70 | if (lock == 'suspended') { | |
71 | return PveResourceStatusType.suspended; | |
72 | } | |
73 | return PveResourceStatusType.running; | |
74 | } | |
75 | } | |
134a2bb8 | 76 | |
947d1f5f TM |
77 | if (status == 'stopped') { |
78 | if (lock == 'suspended') { | |
79 | return PveResourceStatusType.suspended; | |
80 | } | |
81 | return PveResourceStatusType.stopped; | |
82 | } | |
a7d38be1 | 83 | return PveResourceStatusType.unkown; |
947d1f5f | 84 | } |
134a2bb8 | 85 | } |