Revision 1c3231aa src/Ganeti/OpParams.hs

b/src/Ganeti/OpParams.hs
61 61
  , pForce
62 62
  , pIgnoreOfflineNodes
63 63
  , pNodeName
64
  , pNodeUuid
64 65
  , pNodeNames
66
  , pNodeUuids
65 67
  , pGroupName
66 68
  , pMigrationMode
67 69
  , pMigrationLive
......
82 84
  , pIpConflictsCheck
83 85
  , pNoRemember
84 86
  , pMigrationTargetNode
87
  , pMigrationTargetNodeUuid
85 88
  , pMoveTargetNode
89
  , pMoveTargetNodeUuid
86 90
  , pStartupPaused
87 91
  , pVerbose
88 92
  , pDebugSimulateErrors
......
144 148
  , pNames
145 149
  , pNodes
146 150
  , pRequiredNodes
151
  , pRequiredNodeUuids
147 152
  , pStorageType
148 153
  , pStorageChanges
149 154
  , pMasterCandidate
......
153 158
  , pPowered
154 159
  , pIallocator
155 160
  , pRemoteNode
161
  , pRemoteNodeUuid
156 162
  , pEvacMode
157 163
  , pInstCreateMode
158 164
  , pNoInstall
159 165
  , pInstOs
160 166
  , pPrimaryNode
167
  , pPrimaryNodeUuid
161 168
  , pSecondaryNode
169
  , pSecondaryNodeUuid
162 170
  , pSourceHandshake
163 171
  , pSourceInstance
164 172
  , pSourceShutdownTimeout
165 173
  , pSourceX509Ca
166 174
  , pSrcNode
175
  , pSrcNodeUuid
167 176
  , pSrcPath
168 177
  , pStartInstance
169 178
  , pInstTags
......
188 197
  , pTargetGroups
189 198
  , pExportMode
190 199
  , pExportTargetNode
200
  , pExportTargetNodeUuid
191 201
  , pRemoveInstance
192 202
  , pIgnoreRemoveFailures
193 203
  , pX509KeyName
......
200 210
  , pDelayDuration
201 211
  , pDelayOnMaster
202 212
  , pDelayOnNodes
213
  , pDelayOnNodeUuids
203 214
  , pDelayRepeat
204 215
  , pIAllocatorDirection
205 216
  , pIAllocatorMode
......
563 574
pNodeName :: Field
564 575
pNodeName = simpleField "node_name" [t| NonEmptyString |]
565 576

  
577
-- | A node UUID (for single-node LUs).
578
pNodeUuid :: Field
579
pNodeUuid = optionalField $ simpleField "node_uuid" [t| NonEmptyString |]
580

  
566 581
-- | List of nodes.
567 582
pNodeNames :: Field
568 583
pNodeNames =
569 584
  defaultField [| [] |] $ simpleField "node_names" [t| [NonEmptyString] |]
570 585

  
586
-- | List of node UUIDs.
587
pNodeUuids :: Field
588
pNodeUuids =
589
  optionalField $ simpleField "node_uuids" [t| [NonEmptyString] |]
590

  
571 591
-- | A required node group name (for single-group LUs).
572 592
pGroupName :: Field
573 593
pGroupName = simpleField "group_name" [t| NonEmptyString |]
......
656 676
pMigrationTargetNode :: Field
657 677
pMigrationTargetNode = optionalNEStringField "target_node"
658 678

  
679
-- | Target node UUID for instance migration/failover.
680
pMigrationTargetNodeUuid :: Field
681
pMigrationTargetNodeUuid = optionalNEStringField "target_node_uuid"
682

  
659 683
-- | Target node for instance move (required).
660 684
pMoveTargetNode :: Field
661 685
pMoveTargetNode =
662 686
  renameField "MoveTargetNode" $
663 687
  simpleField "target_node" [t| NonEmptyString |]
664 688

  
689
-- | Target node UUID for instance move.
690
pMoveTargetNodeUuid :: Field
691
pMoveTargetNodeUuid =
692
  renameField "MoveTargetNodeUuid" . optionalField $
693
  simpleField "target_node_uuid" [t| NonEmptyString |]
694

  
665 695
-- | Pause instance at startup.
666 696
pStartupPaused :: Field
667 697
pStartupPaused = defaultFalse "startup_paused"
......
990 1020
pRequiredNodes =
991 1021
  renameField "ReqNodes " $ simpleField "nodes" [t| [NonEmptyString] |]
992 1022

  
1023
-- | Required list of node names.
1024
pRequiredNodeUuids :: Field
1025
pRequiredNodeUuids =
1026
  renameField "ReqNodeUuids " . optionalField $
1027
    simpleField "node_uuids" [t| [NonEmptyString] |]
1028

  
993 1029
-- | Storage type.
994 1030
pStorageType :: Field
995 1031
pStorageType = simpleField "storage_type" [t| StorageType |]
......
1027 1063
pRemoteNode :: Field
1028 1064
pRemoteNode = optionalNEStringField "remote_node"
1029 1065

  
1066
-- | New secondary node UUID.
1067
pRemoteNodeUuid :: Field
1068
pRemoteNodeUuid = optionalNEStringField "remote_node_uuid"
1069

  
1030 1070
-- | Node evacuation mode.
1031 1071
pEvacMode :: Field
1032 1072
pEvacMode = renameField "EvacMode" $ simpleField "mode" [t| NodeEvacMode |]
......
1048 1088
pPrimaryNode :: Field
1049 1089
pPrimaryNode = optionalNEStringField "pnode"
1050 1090

  
1091
-- | Primary node UUID for an instance.
1092
pPrimaryNodeUuid :: Field
1093
pPrimaryNodeUuid = optionalNEStringField "pnode_uuid"
1094

  
1051 1095
-- | Secondary node for an instance.
1052 1096
pSecondaryNode :: Field
1053 1097
pSecondaryNode = optionalNEStringField "snode"
1054 1098

  
1099
-- | Secondary node UUID for an instance.
1100
pSecondaryNodeUuid :: Field
1101
pSecondaryNodeUuid = optionalNEStringField "snode_uuid"
1102

  
1055 1103
-- | Signed handshake from source (remote import only).
1056 1104
pSourceHandshake :: Field
1057 1105
pSourceHandshake =
......
1076 1124
pSrcNode :: Field
1077 1125
pSrcNode = optionalNEStringField "src_node"
1078 1126

  
1127
-- | Source node for import.
1128
pSrcNodeUuid :: Field
1129
pSrcNodeUuid = optionalNEStringField "src_node_uuid"
1130

  
1079 1131
-- | Source directory for import.
1080 1132
pSrcPath :: Field
1081 1133
pSrcPath = optionalNEStringField "src_path"
......
1181 1233
  renameField "ExportTarget" $
1182 1234
  simpleField "target_node" [t| ExportTarget |]
1183 1235

  
1236
-- | Export target node UUID field.
1237
pExportTargetNodeUuid :: Field
1238
pExportTargetNodeUuid =
1239
  renameField "ExportTargetNodeUuid" . optionalField $
1240
  simpleField "target_node_uuid" [t| NonEmptyString |]
1241

  
1184 1242
-- | Whether to remove instance after export.
1185 1243
pRemoveInstance :: Field
1186 1244
pRemoveInstance = defaultFalse "remove_instance"
......
1241 1299
  defaultField [| [] |] $
1242 1300
  simpleField "on_nodes" [t| [NonEmptyString] |]
1243 1301

  
1302
-- | on_node_uuids field for 'OpTestDelay'.
1303
pDelayOnNodeUuids :: Field
1304
pDelayOnNodeUuids =
1305
  renameField "DelayOnNodeUuids" . optionalField $
1306
  simpleField "on_node_uuids" [t| [NonEmptyString] |]
1307

  
1244 1308
-- | Repeat parameter for OpTestDelay.
1245 1309
pDelayRepeat :: Field
1246 1310
pDelayRepeat =

Also available in: Unified diff