Skip to content

feat: Add ability to include rack when retrieving tray information #398

@nvlitagaki

Description

@nvlitagaki

Is this a new feature, an enhancement, or a change to existing functionality?

Enhancement

How would you describe the priority of this feature request

Medium

Please provide a clear description of problem this feature solves

When fetching information about trays, it is likely that users will often want to know about the context of the rack within which the tray resides. Right now the retrieve tray and retrieve all trays APIs only give you the UUID of the rack for each tray. It would be nice to have the option to also include information about the related rack in the same fashion many of the other APIs allow for fetching a summary of related records.

Feature Description

As a user retrieving information about tray(s) within my data center, I would like the ability to optionally request that information about the rack(s) in which those trays are located.

Describe your ideal solution

For consistency within the API, I could see adding an 'includeRelation' array parameter to the get all trays and get single trays APIs. For now, the only possible value would be 'Rack', but using such a generic name would allow for updating it to also support fetching info about component devices (ex: PSUs within a powershelf tray).
If specified, each tray record would be returned with a 'rack' value that would ideally include basic rack info like rack name, manufacturer and model, serial number, description, and location, allowing the user to get the full context for where each tray existed in the physical hierarchy without doing a separate query.

Describe any alternatives you have considered

The alternative is for clients to make an additional API call to retrieve the rack info based on the rackId field present on the tray object.

Additional context

No response

Code of Conduct

  • I agree to follow NCX Infra Controller's Code of Conduct
  • I have searched the open feature requests and have found no duplicates for this feature request

Metadata

Metadata

Assignees

Labels

featureFeature (deprecated - use issue type, but it's needed for reporting now)

Projects

Status

Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions