]> git.proxmox.com Git - flutter/proxmox_dart_api_client.git/blame - lib/src/models/pve_nodes_qemu_status_model.dart
qemu status model: add spice parameter
[flutter/proxmox_dart_api_client.git] / lib / src / models / pve_nodes_qemu_status_model.dart
CommitLineData
134a2bb8
TM
1import 'package:built_value/built_value.dart';
2import 'package:built_value/serializer.dart';
947d1f5f 3import 'package:proxmox_dart_api_client/proxmox_dart_api_client.dart';
134a2bb8
TM
4import 'package:proxmox_dart_api_client/src/models/pve_ha_manger_service_status_model.dart';
5
6part 'pve_nodes_qemu_status_model.g.dart';
7
8abstract 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}