This commit is contained in:
2026-10-16 15:23:28 +03:00
parent 8cde0e9371
commit 84164a72a4
32 changed files with 1019 additions and 260 deletions

View File

@@ -23,7 +23,8 @@ type Target struct {
// Required: false
StoragePolicyID uint64 `url:"storage_policy_id,omitempty" json:"storage_policy_id,omitempty"`
// Disk IDs
// Disk IDs. May be omitted if Targets contains one element (all persistent disks are migrated).
// Required if Targets contains two or more elements; disk IDs must not overlap between targets.
// Required: false
DiskIDs []uint64 `url:"disk_ids,omitempty" json:"disk_ids,omitempty"`
}
@@ -31,8 +32,8 @@ type Target struct {
// Storage describes a destination for a disk
type Storage struct {
// Target for migration
// Required: false
Targets []Target `url:"targets,omitempty" json:"targets,omitempty"`
// Required: true
Targets []Target `url:"targets" json:"targets" validate:"required,min=1,dive"`
// Whether a separate source-disk cleanup job should be started after full success
// Required: false
@@ -55,7 +56,7 @@ type MigrateV2Request struct {
// Destination for a disk
// Required: false
Storage Storage `url:"storage,omitempty" json:"storage,omitempty"`
Storage *Storage `url:"storage,omitempty" json:"storage,omitempty"`
}
// MigrateV2 starts a migration of a compute or a disk