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 none
policy_name string none
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