v1/allocation_validation.proto#
Allocation validation messages for dry-run allocation feasibility analysis.
This file contains messages for validating whether devices can be allocated with a policy bundle without actually creating a resource group or applying policies to hardware. Used for pre-flight checks and “what-if” allocation feasibility analysis.
Messages#
ValidateAllocationRequest#
ValidateAllocationRequest contains parameters for dry-run allocation feasibility validation.
Field |
Type |
Description |
|---|---|---|
device_names |
repeated |
Device names to validate. Must contain at least one item, and each entry must not be empty. |
policy_bundle |
|
Policy bundle name to evaluate. Must not be empty. |
strict |
|
none |
ValidateAllocationResponse#
ValidateAllocationResponse is the streaming response for allocation validation First message contains overall validation result, subsequent messages contain per-device details
Field |
Type |
Description |
|---|---|---|
oneof response.allocation_validation_result |
|
Overall allocation validation result (sent once as first message) |
oneof response.per_device_allocation_validation_result |
|
Per-device allocation validation result (streamed per device) |
ValidateAllocationResponse.AllocationPolicySelection#
AllocationPolicySelection contains the policy-bundle selection outcome for this allocation.
Field |
Type |
Description |
|---|---|---|
requested_policy_bundle |
|
none |
selected_policy_bundle |
|
none |
effective_policy_floor_selected |
|
Indicates that at least one device would be admitted at its effective policy floor instead of its target. The selected bundle remains unchanged. |
ValidateAllocationResponse.AllocationPowerReclamationRequirements#
AllocationPowerReclamationRequirements contains power reclamation requirements if allocation needs power from other RGs If this field is set (non-null), power reclamation from other RGs would be required for activation. If null, the allocation can proceed without affecting other resource groups. TODO: Not yet implemented - always nil in current version
Field |
Type |
Description |
|---|---|---|
affected_resource_group_names |
repeated |
none |
watts_to_reclaim |
|
none |
diagnostic_note |
|
none |
ValidateAllocationResponse.AllocationValidationResult#
AllocationValidationResult contains overall validation outcome (sent once as first message)
Field |
Type |
Description |
|---|---|---|
status |
|
Operation status |
allocation_would_succeed |
|
Validation outcome - would the allocation succeed? |
allocation_policy_selection |
|
Policy-bundle selection for the allocation |
allocation_power_reclamation_requirements |
|
Power reclamation requirements (null if no reclamation needed) |
ValidateAllocationResponse.DeviceAllocationStatus#
DeviceAllocationStatus contains per-device allocation validation results
Field |
Type |
Description |
|---|---|---|
policy_apply_status |
|
For ComputerSystem entities - policy that would be applied |
power_distribution_status |
|
For power distribution entities (PDU/PSU/PowerDomain) - capacity utilization |
effective_policy_floor_selected |
|
Indicates that the bundle would be admitted at the device’s effective policy floor instead of its target (ComputerSystem only). |
ValidateAllocationResponse.PerDeviceAllocationValidationResult#
PerDeviceAllocationValidationResult contains validation result for a single device (streamed per device)
Field |
Type |
Description |
|---|---|---|
device_id |
|
Device identifier |
device_allocation_status |
|
Allocation status for this device |
ValidateAllocationResponse.PowerDistributionEntityStatus#
PowerDistributionEntityStatus contains power distribution entity status for PDU/PSU/PowerDomain entities
Field |
Type |
Description |
|---|---|---|
allocated_watts |
|
none |
capacity_watts |
|
none |
Scalar Value Types#
.proto Type |
Notes |
C++ Type |
Java Type |
Python Type |
|---|---|---|---|---|
double |
double |
double |
float |
|
float |
float |
float |
float |
|
int32 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. |
int32 |
int |
int |
int64 |
Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. |
int64 |
long |
int/long |
uint32 |
Uses variable-length encoding. |
uint32 |
int |
int/long |
uint64 |
Uses variable-length encoding. |
uint64 |
long |
int/long |
sint32 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. |
int32 |
int |
int |
sint64 |
Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. |
int64 |
long |
int/long |
fixed32 |
Always four bytes. More efficient than uint32 if values are often greater than 2^28. |
uint32 |
int |
int |
fixed64 |
Always eight bytes. More efficient than uint64 if values are often greater than 2^56. |
uint64 |
long |
int/long |
sfixed32 |
Always four bytes. |
int32 |
int |
int |
sfixed64 |
Always eight bytes. |
int64 |
long |
int/long |
bool |
bool |
boolean |
boolean |
|
string |
A string must always contain UTF-8 encoded or 7-bit ASCII text. |
string |
String |
str/unicode |
bytes |
May contain any arbitrary sequence of bytes. |
string |
ByteString |
str |