Revision 3c1a8730

b/src/Ganeti/Objects.hs
280 280
  , simpleField "link" [t| String  |]
281 281
  ])
282 282

  
283
$(buildObject "PartialNic" "nic"
283
$(buildObject "PartialNic" "nic" $
284 284
  [ simpleField "mac" [t| String |]
285 285
  , optionalField $ simpleField "ip" [t| String |]
286 286
  , simpleField "nicparams" [t| PartialNicParams |]
287 287
  , optionalField $ simpleField "network" [t| String |]
288
  ])
288
  , optionalField $ simpleField "name" [t| String |]
289
  ] ++ uuidFields)
290

  
291
instance UuidObject PartialNic where
292
  uuidOf = nicUuid
289 293

  
290 294
-- * Disk definitions
291 295

  
......
423 427
  , diskIvName     :: String
424 428
  , diskSize       :: Int
425 429
  , diskMode       :: DiskMode
430
  , diskName       :: Maybe String
431
  , diskUuid       :: String
426 432
  } deriving (Show, Eq)
427 433

  
428
$(buildObjectSerialisation "Disk"
434
$(buildObjectSerialisation "Disk" $
429 435
  [ customField 'decodeDLId 'encodeFullDLId ["dev_type"] $
430 436
      simpleField "logical_id"    [t| DiskLogicalId   |]
431 437
--  , simpleField "physical_id" [t| String   |]
......
433 439
  , defaultField [| "" |] $ simpleField "iv_name" [t| String |]
434 440
  , simpleField "size" [t| Int |]
435 441
  , defaultField [| DiskRdWr |] $ simpleField "mode" [t| DiskMode |]
436
  ])
442
  , optionalField $ simpleField "name" [t| String |]
443
  ]
444
  ++ uuidFields)
445

  
446
instance UuidObject Disk where
447
  uuidOf = diskUuid
437 448

  
438 449
-- * Instance definitions
439 450

  
b/test/hs/Test/Ganeti/Objects.hs
89 89
-- generating recursive datastructures is a bit more work.
90 90
instance Arbitrary Disk where
91 91
  arbitrary = Disk <$> arbitrary <*> pure [] <*> arbitrary
92
                   <*> arbitrary <*> arbitrary
92
                   <*> arbitrary <*> arbitrary <*> arbitrary
93
                   <*> arbitrary
93 94

  
94 95
-- FIXME: we should generate proper values, >=0, etc., but this is
95 96
-- hard for partial ones, where all must be wrapped in a 'Maybe'
......
128 129
  mac <- arbitrary
129 130
  ip <- arbitrary
130 131
  nicparams <- arbitrary
132
  name <- arbitrary
133
  uuid <- arbitrary
131 134
  -- generate some more networks than the given ones
132 135
  num_more_nets <- choose (0,3)
133 136
  more_nets <- vectorOf num_more_nets genName
134
  let partial_nics = map (PartialNic mac ip nicparams . Just)
135
                       (List.nub (nets ++ more_nets))
137
  let genNic net = PartialNic mac ip nicparams net name uuid
138
      partial_nics = map (genNic . Just)
139
                         (List.nub (nets ++ more_nets))
136 140
      new_inst = plain_inst { instNics = partial_nics }
137 141
  return new_inst
138 142

  

Also available in: Unified diff