Skip to content

v0.70.1

Latest
Compare
Choose a tag to compare
@uibm uibm released this 17 Jul 06:05
024778e

Highlights

  • Introduced Allowed Use Constraints for images, volumes, snapshots, and bare metal server disks
  • Added new APIs to list compatible instance and server profiles
  • Extended models with allowed_use struct definitions
  • Improved validations and structured error propagation for new APIs
  • fix(template): correctly unmarshal InstanceTemplate response by type

Allowed use compatibility constraints (Feature)

  • Added support for compatibility filtering using allowed_use expressions, enabling fine-grained control over provisioning:

    • Applies to Image, Snapshot, Volume, and BareMetalServerDisk

    • Evaluates provisioning constraints like:

      • enable_secure_boot, gpu.count, gpu.memory, gpu.model, gpu.manufacturer
  • Added new types:

    • ImageAllowedUse, SnapshotAllowedUse, ImageAllowedUsePrototype, ImageAllowedUsePatch
    • BareMetalServerDiskAllowedUse, SnapshotAllowedUsePrototype, SnapshotAllowedUsePatch
  • Expressions are validated during create, patch, and provisioning workflows


Profile compatibility listing APIs

  • Added APIs to list compatible instance or server profiles based on allowed_use expressions:

    • ListImageInstanceProfiles
    • ListImageBareMetalServerProfiles
    • ListSnapshotInstanceProfiles
    • ListVolumeInstanceProfiles
  • Each API supports:

    • Pagination (start, limit)
    • Context propagation (WithContext variants)
    • Query parameter-based versioning and generation enforcement

Struct and field extensions

  • Extended existing models with new allowed_use fields:

    • Image, Snapshot, ImagePatch, ImagePrototype, BareMetalServerDisk
  • Added corresponding unmarshalling and validation logic for all additions

  • Patch methods now include allowed_use patch helpers and AsPatch() extensions


Documentation & code comments

  • Enhanced documentation for:

    • CreateInstance, UpdateInstance, CreateBareMetalServer, UpdateBareMetalServer, and similar methods
    • CreateEndpointGateway now documents prototype structure and validation logic
    • ListEndpointGateways explicitly defines sort behavior

Breaking Changes

  • No methods or types were removed