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 string

Device names to validate. Must contain at least one item, and each entry must not be empty.

policy_bundle

string

Policy bundle 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 the policy-bundle selection outcome for this allocation.

Field

Type

Description

requested_policy_bundle

string

none

selected_policy_bundle

string

none

effective_policy_floor_selected

bool

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 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-bundle 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

effective_policy_floor_selected

bool

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

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