allocation_validation

API Reference: 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 without actually creating a resource group or applying policies to hardware. Used for pre-flight checks and “what-if” allocation feasibility analysis.

Table of Contents

Messages

ValidateAllocationRequest

ValidateAllocationRequest contains parameters for dry-run allocation feasibility validation.

Field Type Description
device_names repeated string Device names to validate. Must contain at least one item, and each entry must not be empty.
policy_name string Policy name to evaluate. Must not be empty.
strict bool 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 ValidateAllocationResponse.AllocationValidationResult Overall allocation validation result (sent once as first message)
oneof response.per_device_allocation_validation_result ValidateAllocationResponse.PerDeviceAllocationValidationResult Per-device allocation validation result (streamed per device)

ValidateAllocationResponse.AllocationPolicySelection

AllocationPolicySelection contains policy selection outcome for this allocation

Field Type Description
requested_policy_name string none
selected_policy_name string none
policy_would_be_downgraded bool none

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 string none
watts_to_reclaim double none
diagnostic_note string none

ValidateAllocationResponse.AllocationValidationResult

AllocationValidationResult contains overall validation outcome (sent once as first message)

Field Type Description
status Status Operation status
allocation_would_succeed bool Validation outcome - would the allocation succeed?
allocation_policy_selection ValidateAllocationResponse.AllocationPolicySelection Policy selection for the allocation
allocation_power_reclamation_requirements ValidateAllocationResponse.AllocationPowerReclamationRequirements Power reclamation requirements (null if no reclamation needed)

ValidateAllocationResponse.DeviceAllocationStatus

DeviceAllocationStatus contains per-device allocation validation results

Field Type Description
policy_apply_status PolicyApplyStatus For ComputerSystem entities - policy that would be applied
power_distribution_status ValidateAllocationResponse.PowerDistributionEntityStatus For power distribution entities (PDU/PSU/PowerDomain) - capacity utilization
policy_would_be_downgraded bool Indicates if requested policy would be downgraded (ComputerSystem only)

ValidateAllocationResponse.PerDeviceAllocationValidationResult

PerDeviceAllocationValidationResult contains validation result for a single device (streamed per device)

Field Type Description
device_id string Device identifier
device_allocation_status ValidateAllocationResponse.DeviceAllocationStatus Allocation status for this device

ValidateAllocationResponse.PowerDistributionEntityStatus

PowerDistributionEntityStatus contains power distribution entity status for PDU/PSU/PowerDomain entities

Field Type Description
allocated_watts double none
capacity_watts double 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