Move Network definition ahead of depending definitions
authorHelga Velroyen <helgav@google.com>
Tue, 18 Dec 2012 13:29:08 +0000 (14:29 +0100)
committerHelga Velroyen <helgav@google.com>
Wed, 19 Dec 2012 14:54:48 +0000 (15:54 +0100)
Networks will be properties of NicParams and NodeGroups. Therefore
they need to be defined before those.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>

htools/Ganeti/Objects.hs

index b4a61ab..e2deb9c 100644 (file)
@@ -166,6 +166,41 @@ roleDescription NRRegular   = "regular"
 roleDescription NRCandidate = "master candidate"
 roleDescription NRMaster    = "master"
 
+-- * Network definitions
+
+-- FIXME: Not all types might be correct here, since they
+-- haven't been exhaustively deduced from the python code yet.
+$(buildObject "Network" "network" $
+  [ simpleField "name"             [t| NonEmptyString |]
+  , optionalField $
+    simpleField "network_type"     [t| NetworkType |]
+  , optionalField $
+    simpleField "mac_prefix"       [t| String |]
+  , optionalField $
+    simpleField "family"           [t| Int |]
+  , simpleField "network"          [t| NonEmptyString |]
+  , optionalField $
+    simpleField "network6"         [t| String |]
+  , optionalField $
+    simpleField "gateway"          [t| String |]
+  , optionalField $
+    simpleField "gateway6"         [t| String |]
+  , optionalField $
+    simpleField "size"             [t| J.JSValue |]
+  , optionalField $
+    simpleField "reservations"     [t| String |]
+  , optionalField $
+    simpleField "ext_reservations" [t| String |]
+  ]
+  ++ serialFields
+  ++ tagsFields)
+
+instance SerialNoObject Network where
+  serialOf = networkSerial
+
+instance TagsObject Network where
+  tagsOf = networkTags
+
 -- * NIC definitions
 
 $(buildParam "Nic" "nicp"
@@ -592,39 +627,3 @@ $(buildObject "ConfigData" "config" $
 
 instance SerialNoObject ConfigData where
   serialOf = configSerial
-
--- * Network definitions
-
--- FIXME: Not all types might be correct here, since they
--- haven't been exhaustively deduced from the python code yet.
-$(buildObject "Network" "network" $
-  [ simpleField "name"             [t| NonEmptyString |]
-  , optionalField $
-    simpleField "network_type"     [t| NetworkType |]
-  , optionalField $
-    simpleField "mac_prefix"       [t| String |]
-  , optionalField $
-    simpleField "family"           [t| Int |]
-  , simpleField "network"          [t| NonEmptyString |]
-  , optionalField $
-    simpleField "network6"         [t| String |]
-  , optionalField $
-    simpleField "gateway"          [t| String |]
-  , optionalField $
-    simpleField "gateway6"         [t| String |]
-  , optionalField $
-    simpleField "size"             [t| J.JSValue |]
-  , optionalField $
-    simpleField "reservations"     [t| String |]
-  , optionalField $
-    simpleField "ext_reservations" [t| String |]
-  ]
-  ++ serialFields
-  ++ tagsFields)
-
-instance SerialNoObject Network where
-  serialOf = networkSerial
-
-instance TagsObject Network where
-  tagsOf = networkTags
-