root / src / Ganeti / Query / Instance.hs @ d286d795
History | View | Annotate | Download (1.9 kB)
1 | 1df0266e | Hrvoje Ribicic | {-| Implementation of the Ganeti Query2 instance queries. |
---|---|---|---|
2 | 1df0266e | Hrvoje Ribicic | |
3 | 1df0266e | Hrvoje Ribicic | -} |
4 | 1df0266e | Hrvoje Ribicic | |
5 | 1df0266e | Hrvoje Ribicic | {- |
6 | 1df0266e | Hrvoje Ribicic | |
7 | 1df0266e | Hrvoje Ribicic | Copyright (C) 2013 Google Inc. |
8 | 1df0266e | Hrvoje Ribicic | |
9 | 1df0266e | Hrvoje Ribicic | This program is free software; you can redistribute it and/or modify |
10 | 1df0266e | Hrvoje Ribicic | it under the terms of the GNU General Public License as published by |
11 | 1df0266e | Hrvoje Ribicic | the Free Software Foundation; either version 2 of the License, or |
12 | 1df0266e | Hrvoje Ribicic | (at your option) any later version. |
13 | 1df0266e | Hrvoje Ribicic | |
14 | 1df0266e | Hrvoje Ribicic | This program is distributed in the hope that it will be useful, but |
15 | 1df0266e | Hrvoje Ribicic | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | 1df0266e | Hrvoje Ribicic | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
17 | 1df0266e | Hrvoje Ribicic | General Public License for more details. |
18 | 1df0266e | Hrvoje Ribicic | |
19 | 1df0266e | Hrvoje Ribicic | You should have received a copy of the GNU General Public License |
20 | 1df0266e | Hrvoje Ribicic | along with this program; if not, write to the Free Software |
21 | 1df0266e | Hrvoje Ribicic | Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA |
22 | 1df0266e | Hrvoje Ribicic | 02110-1301, USA. |
23 | 1df0266e | Hrvoje Ribicic | |
24 | 1df0266e | Hrvoje Ribicic | -} |
25 | 1df0266e | Hrvoje Ribicic | |
26 | 1df0266e | Hrvoje Ribicic | module Ganeti.Query.Instance |
27 | d286d795 | Hrvoje Ribicic | (fieldsMap) where |
28 | 1df0266e | Hrvoje Ribicic | |
29 | 1df0266e | Hrvoje Ribicic | import qualified Data.Map as Map |
30 | 1df0266e | Hrvoje Ribicic | |
31 | 1df0266e | Hrvoje Ribicic | import Ganeti.Objects |
32 | 1df0266e | Hrvoje Ribicic | import Ganeti.Query.Common |
33 | 1df0266e | Hrvoje Ribicic | import Ganeti.Query.Language |
34 | 1df0266e | Hrvoje Ribicic | import Ganeti.Query.Types |
35 | 1df0266e | Hrvoje Ribicic | |
36 | d286d795 | Hrvoje Ribicic | instanceFields :: FieldList Instance NoDataRuntime |
37 | 1df0266e | Hrvoje Ribicic | instanceFields = |
38 | 1df0266e | Hrvoje Ribicic | [ (FieldDefinition "disk_template" "Disk_template" QFTText |
39 | 1df0266e | Hrvoje Ribicic | "Disk template", |
40 | 1df0266e | Hrvoje Ribicic | FieldSimple (rsNormal . instDiskTemplate), QffNormal) |
41 | 1df0266e | Hrvoje Ribicic | , (FieldDefinition "name" "Instance" QFTText |
42 | 1df0266e | Hrvoje Ribicic | "Instance name", |
43 | 1df0266e | Hrvoje Ribicic | FieldSimple (rsNormal . instName), QffHostname) |
44 | 1df0266e | Hrvoje Ribicic | , (FieldDefinition "hypervisor" "Hypervisor" QFTText |
45 | 1df0266e | Hrvoje Ribicic | "Hypervisor name", |
46 | 1df0266e | Hrvoje Ribicic | FieldSimple (rsNormal . instHypervisor), QffNormal) |
47 | 1df0266e | Hrvoje Ribicic | , (FieldDefinition "network_port" "Network_port" QFTOther |
48 | 1df0266e | Hrvoje Ribicic | "Instance network port if available (e.g. for VNC console)", |
49 | 1df0266e | Hrvoje Ribicic | FieldSimple (rsMaybeNoData . instNetworkPort), QffNormal) |
50 | 1df0266e | Hrvoje Ribicic | , (FieldDefinition "os" "OS" QFTText |
51 | 1df0266e | Hrvoje Ribicic | "Operating system", |
52 | 1df0266e | Hrvoje Ribicic | FieldSimple (rsNormal . instOs), QffNormal) |
53 | 1df0266e | Hrvoje Ribicic | ] ++ |
54 | 1df0266e | Hrvoje Ribicic | serialFields "Instance" ++ |
55 | 1df0266e | Hrvoje Ribicic | uuidFields "Instance" |
56 | 1df0266e | Hrvoje Ribicic | |
57 | d286d795 | Hrvoje Ribicic | fieldsMap :: FieldMap Instance NoDataRuntime |
58 | 1df0266e | Hrvoje Ribicic | fieldsMap = |
59 | 1df0266e | Hrvoje Ribicic | Map.fromList [(fdefName f, v) | v@(f, _, _) <- instanceFields] |