Statistics
| Branch: | Tag: | Revision:

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]