From: Helga Velroyen Date: Tue, 18 Dec 2012 13:29:08 +0000 (+0100) Subject: Move Network definition ahead of depending definitions X-Git-Tag: v2.7.0beta1~268 X-Git-Url: https://code.grnet.gr/git/ganeti-local/commitdiff_plain/6f732ae0c924213b61412db1c1bd50bf1dc1eb85 Move Network definition ahead of depending definitions Networks will be properties of NicParams and NodeGroups. Therefore they need to be defined before those. Signed-off-by: Helga Velroyen Reviewed-by: Iustin Pop --- diff --git a/htools/Ganeti/Objects.hs b/htools/Ganeti/Objects.hs index b4a61ab..e2deb9c 100644 --- a/htools/Ganeti/Objects.hs +++ b/htools/Ganeti/Objects.hs @@ -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 -