1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
// WARNING: this file is auto-generated by xtask gen and may be overwritten
use *;
/// The cluster software is shutting down.
pub const SHUTTING_DOWN : ErrorCode = from_constant; // ERROR_CLUSTER_SHUTTING_DOWN
/// The cluster node is not valid.
pub const INVALID_NODE : ErrorCode = from_constant; // ERROR_CLUSTER_INVALID_NODE
/// The cluster node already exists.
pub const NODE_EXISTS : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_EXISTS
/// A node is in the process of joining the cluster.
pub const JOIN_IN_PROGRESS : ErrorCode = from_constant; // ERROR_CLUSTER_JOIN_IN_PROGRESS
/// The cluster node was not found.
pub const NODE_NOT_FOUND : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_NOT_FOUND
/// The cluster local node information was not found.
pub const LOCAL_NODE_NOT_FOUND : ErrorCode = from_constant; // ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND
/// The cluster network already exists.
pub const NETWORK_EXISTS : ErrorCode = from_constant; // ERROR_CLUSTER_NETWORK_EXISTS
/// The cluster network was not found.
pub const NETWORK_NOT_FOUND : ErrorCode = from_constant; // ERROR_CLUSTER_NETWORK_NOT_FOUND
/// The cluster network interface already exists.
pub const NETINTERFACE_EXISTS : ErrorCode = from_constant; // ERROR_CLUSTER_NETINTERFACE_EXISTS
/// The cluster network interface was not found.
pub const NETINTERFACE_NOT_FOUND : ErrorCode = from_constant; // ERROR_CLUSTER_NETINTERFACE_NOT_FOUND
/// The cluster request is not valid for this object.
pub const INVALID_REQUEST : ErrorCode = from_constant; // ERROR_CLUSTER_INVALID_REQUEST
/// The cluster network provider is not valid.
pub const INVALID_NETWORK_PROVIDER : ErrorCode = from_constant; // ERROR_CLUSTER_INVALID_NETWORK_PROVIDER
/// The cluster node is down.
pub const NODE_DOWN : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_DOWN
/// The cluster node is not reachable.
pub const NODE_UNREACHABLE : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_UNREACHABLE
/// The cluster node is not a member of the cluster.
pub const NODE_NOT_MEMBER : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_NOT_MEMBER
/// A cluster join operation is not in progress.
pub const JOIN_NOT_IN_PROGRESS : ErrorCode = from_constant; // ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS
/// The cluster network is not valid.
pub const INVALID_NETWORK : ErrorCode = from_constant; // ERROR_CLUSTER_INVALID_NETWORK
/// The cluster node is up.
pub const NODE_UP : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_UP
/// The cluster IP address is already in use.
pub const IPADDR_IN_USE : ErrorCode = from_constant; // ERROR_CLUSTER_IPADDR_IN_USE
/// The cluster node is not paused.
pub const NODE_NOT_PAUSED : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_NOT_PAUSED
/// No cluster security context is available.
pub const NO_SECURITY_CONTEXT : ErrorCode = from_constant; // ERROR_CLUSTER_NO_SECURITY_CONTEXT
/// The cluster network is not configured for internal cluster communication.
pub const NETWORK_NOT_INTERNAL : ErrorCode = from_constant; // ERROR_CLUSTER_NETWORK_NOT_INTERNAL
/// The cluster node is already up.
pub const NODE_ALREADY_UP : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_ALREADY_UP
/// The cluster node is already down.
pub const NODE_ALREADY_DOWN : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_ALREADY_DOWN
/// The cluster network is already online.
pub const NETWORK_ALREADY_ONLINE : ErrorCode = from_constant; // ERROR_CLUSTER_NETWORK_ALREADY_ONLINE
/// The cluster network is already offline.
pub const NETWORK_ALREADY_OFFLINE : ErrorCode = from_constant; // ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE
/// The cluster node is already a member of the cluster.
pub const NODE_ALREADY_MEMBER : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_ALREADY_MEMBER
/// The cluster network is the only one configured for internal cluster communication between two or more active cluster nodes. The internal communication capability cannot be removed from the network.
pub const LAST_INTERNAL_NETWORK : ErrorCode = from_constant; // ERROR_CLUSTER_LAST_INTERNAL_NETWORK
/// One or more cluster resources depend on the network to provide service to clients. The client access capability cannot be removed from the network.
pub const NETWORK_HAS_DEPENDENTS : ErrorCode = from_constant; // ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS
/// The cluster node is paused.
pub const NODE_PAUSED : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_PAUSED
/// The cluster node is not ready to perform the requested operation.
pub const NODE_NOT_READY : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_NOT_READY
/// The cluster node is shutting down.
pub const NODE_SHUTTING_DOWN : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_SHUTTING_DOWN
/// The cluster join operation was aborted.
pub const JOIN_ABORTED : ErrorCode = from_constant; // ERROR_CLUSTER_JOIN_ABORTED
/// The node failed to join the cluster because the joining node and other nodes in the cluster have incompatible operating system versions. To get more information about operating system versions of the cluster, run the Validate a Configuration Wizard or the Test-Cluster Windows PowerShell cmdlet.
pub const INCOMPATIBLE_VERSIONS : ErrorCode = from_constant; // ERROR_CLUSTER_INCOMPATIBLE_VERSIONS
/// This resource cannot be created because the cluster has reached the limit on the number of resources it can monitor.
pub const MAXNUM_OF_RESOURCES_EXCEEDED : ErrorCode = from_constant; // ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED
/// The system configuration changed during the cluster join or form operation. The join or form operation was aborted.
pub const SYSTEM_CONFIG_CHANGED : ErrorCode = from_constant; // ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED
/// The specified resource type was not found.
pub const RESOURCE_TYPE_NOT_FOUND : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND
/// The specified node does not support a resource of this type. This may be due to version inconsistencies or due to the absence of the resource DLL on this node.
pub const RESTYPE_NOT_SUPPORTED : ErrorCode = from_constant; // ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED
/// The specified resource name is not supported by this resource DLL. This may be due to a bad (or changed) name supplied to the resource DLL.
pub const RESNAME_NOT_FOUND : ErrorCode = from_constant; // ERROR_CLUSTER_RESNAME_NOT_FOUND
/// No authentication package could be registered with the RPC server.
pub const NO_RPC_PACKAGES_REGISTERED : ErrorCode = from_constant; // ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED
/// You cannot bring the group online because the owner of the group is not in the preferred list for the group. To change the owner node for the group, move the group.
pub const OWNER_NOT_IN_PREFLIST : ErrorCode = from_constant; // ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST
/// The join operation failed because the cluster database sequence number has changed or is incompatible with the locker node. This may happen during a join operation if the cluster database was changing during the join.
pub const DATABASE_SEQMISMATCH : ErrorCode = from_constant; // ERROR_CLUSTER_DATABASE_SEQMISMATCH
/// A non locker code got a request to reserve the lock for making global updates.
pub const GUM_NOT_LOCKER : ErrorCode = from_constant; // ERROR_CLUSTER_GUM_NOT_LOCKER
/// A DFS root already exists in this cluster node.
pub const NODE_ALREADY_HAS_DFS_ROOT : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT
/// An operation was attempted that is incompatible with the current membership state of the node.
pub const MEMBERSHIP_INVALID_STATE : ErrorCode = from_constant; // ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE
/// The quorum resource does not contain the quorum log.
pub const QUORUMLOG_NOT_FOUND : ErrorCode = from_constant; // ERROR_CLUSTER_QUORUMLOG_NOT_FOUND
/// The membership engine requested shutdown of the cluster service on this node.
pub const MEMBERSHIP_HALT : ErrorCode = from_constant; // ERROR_CLUSTER_MEMBERSHIP_HALT
/// The join operation failed because the cluster instance ID of the joining node does not match the cluster instance ID of the sponsor node.
pub const INSTANCE_ID_MISMATCH : ErrorCode = from_constant; // ERROR_CLUSTER_INSTANCE_ID_MISMATCH
/// A matching cluster network for the specified IP address could not be found.
pub const NETWORK_NOT_FOUND_FOR_IP : ErrorCode = from_constant; // ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP
/// The actual data type of the property did not match the expected data type of the property.
pub const PROPERTY_DATA_TYPE_MISMATCH : ErrorCode = from_constant; // ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH
/// The cluster node was evicted from the cluster successfully, but the node was not cleaned up. To determine what cleanup steps failed and how to recover, see the Failover Clustering application event log using Event Viewer.
pub const EVICT_WITHOUT_CLEANUP : ErrorCode = from_constant; // ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP
/// Two or more parameter values specified for a resource's properties are in conflict.
pub const PARAMETER_MISMATCH : ErrorCode = from_constant; // ERROR_CLUSTER_PARAMETER_MISMATCH
/// This computer cannot be made a member of a cluster because it does not have the correct version of Windows installed.
pub const WRONG_OS_VERSION : ErrorCode = from_constant; // ERROR_CLUSTER_WRONG_OS_VERSION
/// A cluster cannot be created with the specified cluster name because that cluster name is already in use. Specify a different name for the cluster.
pub const CANT_CREATE_DUP_CLUSTER_NAME : ErrorCode = from_constant; // ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME
/// One or more nodes in the cluster are running a version of Windows that does not support this operation.
pub const OLD_VERSION : ErrorCode = from_constant; // ERROR_CLUSTER_OLD_VERSION
/// The name of the corresponding computer account doesn't match the Network Name for this resource.
pub const MISMATCHED_COMPUTER_ACCT_NAME : ErrorCode = from_constant; // ERROR_CLUSTER_MISMATCHED_COMPUTER_ACCT_NAME
/// No network adapters are available.
pub const NO_NET_ADAPTERS : ErrorCode = from_constant; // ERROR_CLUSTER_NO_NET_ADAPTERS
/// The cluster node has been poisoned.
pub const POISONED : ErrorCode = from_constant; // ERROR_CLUSTER_POISONED
/// The group is unable to accept the request since it is moving to another node.
pub const GROUP_MOVING : ErrorCode = from_constant; // ERROR_CLUSTER_GROUP_MOVING
/// The resource type cannot accept the request since is too busy performing another operation.
pub const RESOURCE_TYPE_BUSY : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_TYPE_BUSY
/// An internal cluster error occurred. A call to an invalid function was attempted.
pub const INTERNAL_INVALID_FUNCTION : ErrorCode = from_constant; // ERROR_CLUSTER_INTERNAL_INVALID_FUNCTION
/// A parameter value is out of acceptable range.
pub const PARAMETER_OUT_OF_BOUNDS : ErrorCode = from_constant; // ERROR_CLUSTER_PARAMETER_OUT_OF_BOUNDS
/// A network error occurred while sending data to another node in the cluster. The number of bytes transmitted was less than required.
pub const PARTIAL_SEND : ErrorCode = from_constant; // ERROR_CLUSTER_PARTIAL_SEND
/// An invalid cluster registry operation was attempted.
pub const REGISTRY_INVALID_FUNCTION : ErrorCode = from_constant; // ERROR_CLUSTER_REGISTRY_INVALID_FUNCTION
/// An input string of characters is not properly terminated.
pub const INVALID_STRING_TERMINATION : ErrorCode = from_constant; // ERROR_CLUSTER_INVALID_STRING_TERMINATION
/// An input string of characters is not in a valid format for the data it represents.
pub const INVALID_STRING_FORMAT : ErrorCode = from_constant; // ERROR_CLUSTER_INVALID_STRING_FORMAT
/// An internal cluster error occurred. A cluster database transaction was attempted while a transaction was already in progress.
pub const DATABASE_TRANSACTION_IN_PROGRESS : ErrorCode = from_constant; // ERROR_CLUSTER_DATABASE_TRANSACTION_IN_PROGRESS
/// An internal cluster error occurred. There was an attempt to commit a cluster database transaction while no transaction was in progress.
pub const DATABASE_TRANSACTION_NOT_IN_PROGRESS : ErrorCode = from_constant; // ERROR_CLUSTER_DATABASE_TRANSACTION_NOT_IN_PROGRESS
/// An internal cluster error occurred. Data was not properly initialized.
pub const NULL_DATA : ErrorCode = from_constant; // ERROR_CLUSTER_NULL_DATA
/// An error occurred while reading from a stream of data. An unexpected number of bytes was returned.
pub const PARTIAL_READ : ErrorCode = from_constant; // ERROR_CLUSTER_PARTIAL_READ
/// An error occurred while writing to a stream of data. The required number of bytes could not be written.
pub const PARTIAL_WRITE : ErrorCode = from_constant; // ERROR_CLUSTER_PARTIAL_WRITE
/// An error occurred while deserializing a stream of cluster data.
pub const CANT_DESERIALIZE_DATA : ErrorCode = from_constant; // ERROR_CLUSTER_CANT_DESERIALIZE_DATA
/// A quorum of cluster nodes was not present to form a cluster.
pub const NO_QUORUM : ErrorCode = from_constant; // ERROR_CLUSTER_NO_QUORUM
/// The cluster network is not valid for an IPv6 Address resource, or it does not match the configured address.
pub const INVALID_IPV6_NETWORK : ErrorCode = from_constant; // ERROR_CLUSTER_INVALID_IPV6_NETWORK
/// The cluster network is not valid for an IPv6 Tunnel resource. Check the configuration of the IP Address resource on which the IPv6 Tunnel resource depends.
pub const INVALID_IPV6_TUNNEL_NETWORK : ErrorCode = from_constant; // ERROR_CLUSTER_INVALID_IPV6_TUNNEL_NETWORK
/// The RHS process failed to initialize.
pub const RHS_FAILED_INITIALIZATION : ErrorCode = from_constant; // ERROR_CLUSTER_RHS_FAILED_INITIALIZATION
/// The Failover Clustering feature is not installed on this node.
pub const NOT_INSTALLED : ErrorCode = from_constant; // ERROR_CLUSTER_NOT_INSTALLED
/// The resources must be online on the same node for this operation
pub const RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCES_MUST_BE_ONLINE_ON_THE_SAME_NODE
/// A new node can not be added since this cluster is already at its maximum number of nodes.
pub const MAX_NODES_IN_CLUSTER : ErrorCode = from_constant; // ERROR_CLUSTER_MAX_NODES_IN_CLUSTER
/// This cluster can not be created since the specified number of nodes exceeds the maximum allowed limit.
pub const TOO_MANY_NODES : ErrorCode = from_constant; // ERROR_CLUSTER_TOO_MANY_NODES
/// An attempt to use the specified cluster name failed because an enabled computer object with the given name already exists in the domain.
pub const OBJECT_ALREADY_USED : ErrorCode = from_constant; // ERROR_CLUSTER_OBJECT_ALREADY_USED
/// Eviction of this node is invalid at this time. Due to quorum requirements node eviction will result in cluster shutdown.
/// If it is the last node in the cluster, destroy cluster command should be used.
pub const EVICT_INVALID_REQUEST : ErrorCode = from_constant; // ERROR_CLUSTER_EVICT_INVALID_REQUEST
/// Only one instance of this resource type is allowed in the cluster.
pub const SINGLETON_RESOURCE : ErrorCode = from_constant; // ERROR_CLUSTER_SINGLETON_RESOURCE
/// Only one instance of this resource type is allowed per resource group.
pub const GROUP_SINGLETON_RESOURCE : ErrorCode = from_constant; // ERROR_CLUSTER_GROUP_SINGLETON_RESOURCE
/// The resource failed to come online due to the failure of one or more provider resources.
pub const RESOURCE_PROVIDER_FAILED : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_PROVIDER_FAILED
/// The resource has indicated that it cannot come online on any node.
pub const RESOURCE_CONFIGURATION_ERROR : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_CONFIGURATION_ERROR
/// The current operation cannot be performed on this group at this time.
pub const GROUP_BUSY : ErrorCode = from_constant; // ERROR_CLUSTER_GROUP_BUSY
/// The directory or file is not located on a cluster shared volume.
pub const NOT_SHARED_VOLUME : ErrorCode = from_constant; // ERROR_CLUSTER_NOT_SHARED_VOLUME
/// The Security Descriptor does not meet the requirements for a cluster.
pub const INVALID_SECURITY_DESCRIPTOR : ErrorCode = from_constant; // ERROR_CLUSTER_INVALID_SECURITY_DESCRIPTOR
/// There is one or more shared volumes resources configured in the cluster.
/// Those resources must be moved to available storage in order for operation to succeed.
pub const SHARED_VOLUMES_IN_USE : ErrorCode = from_constant; // ERROR_CLUSTER_SHARED_VOLUMES_IN_USE
/// This group or resource cannot be directly manipulated.
/// Use shared volume APIs to perform desired operation.
pub const USE_SHARED_VOLUMES_API : ErrorCode = from_constant; // ERROR_CLUSTER_USE_SHARED_VOLUMES_API
/// Back up is in progress. Please wait for backup completion before trying this operation again.
pub const BACKUP_IN_PROGRESS : ErrorCode = from_constant; // ERROR_CLUSTER_BACKUP_IN_PROGRESS
/// The cluster watchdog is terminating.
pub const WATCHDOG_TERMINATING : ErrorCode = from_constant; // ERROR_CLUSTER_WATCHDOG_TERMINATING
/// A resource vetoed a move between two nodes because they are incompatible.
pub const RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_VETOED_MOVE_INCOMPATIBLE_NODES
/// The request is invalid either because node weight cannot be changed while the cluster is in disk-only quorum mode, or because changing the node weight would violate the minimum cluster quorum requirements.
pub const INVALID_NODE_WEIGHT : ErrorCode = from_constant; // ERROR_CLUSTER_INVALID_NODE_WEIGHT
/// The resource vetoed the call.
pub const RESOURCE_VETOED_CALL : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_VETOED_CALL
/// A resource vetoed a move between two nodes because the destination currently does not have enough resources to complete the operation.
pub const RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_DESTINATION
/// A resource vetoed a move between two nodes because the source currently does not have enough resources to complete the operation.
pub const RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_VETOED_MOVE_NOT_ENOUGH_RESOURCES_ON_SOURCE
/// The requested operation can not be completed because the group is queued for an operation.
pub const GROUP_QUEUED : ErrorCode = from_constant; // ERROR_CLUSTER_GROUP_QUEUED
/// The requested operation can not be completed because a resource has locked status.
pub const RESOURCE_LOCKED_STATUS : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_LOCKED_STATUS
/// The resource cannot move to another node because a cluster shared volume vetoed the operation.
pub const SHARED_VOLUME_FAILOVER_NOT_ALLOWED : ErrorCode = from_constant; // ERROR_CLUSTER_SHARED_VOLUME_FAILOVER_NOT_ALLOWED
/// A node drain is already in progress.
pub const NODE_DRAIN_IN_PROGRESS : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_DRAIN_IN_PROGRESS
/// Clustered storage is not connected to the node.
pub const DISK_NOT_CONNECTED : ErrorCode = from_constant; // ERROR_CLUSTER_DISK_NOT_CONNECTED
/// CSVFS failed operation as volume is in redirected mode.
pub const SHARED_VOLUME_REDIRECTED : ErrorCode = from_constant; // ERROR_CLUSTER_SHARED_VOLUME_REDIRECTED
/// CSVFS failed operation as volume is not in redirected mode.
pub const SHARED_VOLUME_NOT_REDIRECTED : ErrorCode = from_constant; // ERROR_CLUSTER_SHARED_VOLUME_NOT_REDIRECTED
/// Cluster properties cannot be returned at this time.
pub const CANNOT_RETURN_PROPERTIES : ErrorCode = from_constant; // ERROR_CLUSTER_CANNOT_RETURN_PROPERTIES
/// The clustered disk resource contains software snapshot diff area that are not supported for Cluster Shared Volumes.
pub const RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_CONTAINS_UNSUPPORTED_DIFF_AREA_FOR_SHARED_VOLUMES
/// The operation cannot be completed because the resource is in maintenance mode.
pub const RESOURCE_IS_IN_MAINTENANCE_MODE : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_IS_IN_MAINTENANCE_MODE
/// The operation cannot be completed because of cluster affinity conflicts
pub const AFFINITY_CONFLICT : ErrorCode = from_constant; // ERROR_CLUSTER_AFFINITY_CONFLICT
/// The operation cannot be completed because the resource is a replica virtual machine.
pub const RESOURCE_IS_REPLICA_VIRTUAL_MACHINE : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_IS_REPLICA_VIRTUAL_MACHINE
/// The Cluster Functional Level could not be increased because not all nodes in the cluster support the updated version.
pub const UPGRADE_INCOMPATIBLE_VERSIONS : ErrorCode = from_constant; // ERROR_CLUSTER_UPGRADE_INCOMPATIBLE_VERSIONS
/// Updating the cluster functional level failed because the cluster is running in fix quorum mode.
/// Start additional nodes which are members of the cluster until the cluster reaches quorum and the cluster will automatically
/// switch out of fix quorum mode, or stop and restart the cluster without the FixQuorum switch. Once the cluster is out
/// of fix quorum mode retry the Update-ClusterFunctionalLevel PowerShell cmdlet to update the cluster functional level.
pub const UPGRADE_FIX_QUORUM_NOT_SUPPORTED : ErrorCode = from_constant; // ERROR_CLUSTER_UPGRADE_FIX_QUORUM_NOT_SUPPORTED
/// The cluster functional level has been successfully updated but not all features are available yet. Restart the cluster by
/// using the Stop-Cluster PowerShell cmdlet followed by the Start-Cluster PowerShell cmdlet and all cluster features will
/// be available.
pub const UPGRADE_RESTART_REQUIRED : ErrorCode = from_constant; // ERROR_CLUSTER_UPGRADE_RESTART_REQUIRED
/// The cluster is currently performing a version upgrade.
pub const UPGRADE_IN_PROGRESS : ErrorCode = from_constant; // ERROR_CLUSTER_UPGRADE_IN_PROGRESS
/// The cluster did not successfully complete the version upgrade.
pub const UPGRADE_INCOMPLETE : ErrorCode = from_constant; // ERROR_CLUSTER_UPGRADE_INCOMPLETE
/// The cluster node is in grace period.
pub const NODE_IN_GRACE_PERIOD : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_IN_GRACE_PERIOD
/// The operation has failed because CSV volume was not able to recover in time specified on this file object.
pub const CSV_IO_PAUSE_TIMEOUT : ErrorCode = from_constant; // ERROR_CLUSTER_CSV_IO_PAUSE_TIMEOUT
/// The operation failed because the requested cluster resource is currently unmonitored.
pub const RESOURCE_NOT_MONITORED : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_NOT_MONITORED
/// The operation failed because a resource does not support running in an unmonitored state.
pub const RESOURCE_DOES_NOT_SUPPORT_UNMONITORED : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_DOES_NOT_SUPPORT_UNMONITORED
/// The operation cannot be completed because a resource participates in replication.
pub const RESOURCE_IS_REPLICATED : ErrorCode = from_constant; // ERROR_CLUSTER_RESOURCE_IS_REPLICATED
/// The operation failed because the requested cluster node has been isolated
pub const NODE_ISOLATED : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_ISOLATED
/// The operation failed because the requested cluster node has been quarantined
pub const NODE_QUARANTINED : ErrorCode = from_constant; // ERROR_CLUSTER_NODE_QUARANTINED
/// The operation failed because the specified database update condition was not met
pub const DATABASE_UPDATE_CONDITION_FAILED : ErrorCode = from_constant; // ERROR_CLUSTER_DATABASE_UPDATE_CONDITION_FAILED
/// A clustered space is in a degraded condition and the requested action cannot be completed at this time.
pub const SPACE_DEGRADED : ErrorCode = from_constant; // ERROR_CLUSTER_SPACE_DEGRADED
/// The operation failed because token delegation for this control is not supported.
pub const TOKEN_DELEGATION_NOT_SUPPORTED : ErrorCode = from_constant; // ERROR_CLUSTER_TOKEN_DELEGATION_NOT_SUPPORTED
/// The operation has failed because CSV has invalidated this file object.
pub const CSV_INVALID_HANDLE : ErrorCode = from_constant; // ERROR_CLUSTER_CSV_INVALID_HANDLE
/// This operation is supported only on the CSV coordinator node.
pub const CSV_SUPPORTED_ONLY_ON_COORDINATOR : ErrorCode = from_constant; // ERROR_CLUSTER_CSV_SUPPORTED_ONLY_ON_COORDINATOR
/// The specified parent fault domain is not found.
pub const FAULT_DOMAIN_PARENT_NOT_FOUND : ErrorCode = from_constant; // ERROR_CLUSTER_FAULT_DOMAIN_PARENT_NOT_FOUND
/// The fault domain cannot be a child of the parent specified.
pub const FAULT_DOMAIN_INVALID_HIERARCHY : ErrorCode = from_constant; // ERROR_CLUSTER_FAULT_DOMAIN_INVALID_HIERARCHY
/// Storage Spaces Direct has rejected the proposed fault domain changes because it impacts the fault tolerance of the storage.
pub const FAULT_DOMAIN_FAILED_S2D_VALIDATION : ErrorCode = from_constant; // ERROR_CLUSTER_FAULT_DOMAIN_FAILED_S2D_VALIDATION
/// Storage Spaces Direct has rejected the proposed fault domain changes because it reduces the storage connected to the system.
pub const FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS : ErrorCode = from_constant; // ERROR_CLUSTER_FAULT_DOMAIN_S2D_CONNECTIVITY_LOSS
/// Cluster infrastructure file server creation failed because a valid non-empty file server name was not provided.
pub const INVALID_INFRASTRUCTURE_FILESERVER_NAME : ErrorCode = from_constant; // ERROR_CLUSTER_INVALID_INFRASTRUCTURE_FILESERVER_NAME
/// The object cannot be deleted from the local cluster because it is registered with the cluster set.
pub const OBJECT_IS_CLUSTER_SET_VM : ErrorCode = from_constant; // ERROR_CLUSTER_OBJECT_IS_CLUSTER_SET_VM