api: clean up Instance and InstanceProperties types #803
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Clean up unused fields and structures in the server API:
image_id
andbootrom_id
fields fromInstanceProperties
.disks
andnics
fields from theInstance
struct returned by an instance GET and all their supporting types. These are also not used today. Callers who are interested in finding out about an instance's disks and NICs can query the instance spec GET endpoint instead.InstanceProperties
and put them inInstanceEnsureRequest
instead. This eliminates an extra copy of these data in the server (they were available in both the properties and the instance spec; now they're just available in the spec).N.B. This is a client API breaking change; requiescat, migrate-from-base tests. The live migration protocol is unaffected.
Tests: cargo test; PHD; deployed this change to an Omicron dev cluster and booted some instances there; launched and migrated a VM between local servers using propolis-cli.
Fixes #723.