save

package
v0.15.0-rc.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 22, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_github_com_Microsoft_hcsshim_internal_controller_vm_save_payload_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Payload

type Payload struct {

	// schema_version is bumped whenever a field's semantics change. The
	// destination MUST reject states whose version it does not recognise.
	SchemaVersion uint32 `protobuf:"varint,1,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"`
	// vm_id is the HCS identifier of the running VM.
	VmID string `protobuf:"bytes,2,opt,name=vm_id,json=vmId,proto3" json:"vm_id,omitempty"`
	// sandbox_options is the original set of options the VM was built from,
	// so the destination can recreate an equivalent VM.
	SandboxOptions *SandboxOptions `protobuf:"bytes,3,opt,name=sandbox_options,json=sandboxOptions,proto3" json:"sandbox_options,omitempty"`
	// scsi is the SCSI sub-controller's [anypb.Any] envelope (attached
	// disks, mounts and outstanding reservations).
	Scsi *anypb.Any `protobuf:"bytes,4,opt,name=scsi,proto3" json:"scsi,omitempty"`
	// gcs_next_port is the next free vsock port in the GCS port allocator.
	// The destination seeds its allocator with this value so newly opened
	// IO channels do not collide with per-process ports restored elsewhere.
	GcsNextPort uint32 `protobuf:"varint,5,opt,name=gcs_next_port,json=gcsNextPort,proto3" json:"gcs_next_port,omitempty"`
	// compat_info is the opaque, host-emitted compatibility blob describing
	// the source VM's compatibility surface. The destination passes it back
	// to HCS when starting the target VM so the platform can verify that the
	// two VMs can interchange live-migration state.
	CompatInfo []byte `protobuf:"bytes,6,opt,name=compat_info,json=compatInfo,proto3" json:"compat_info,omitempty"`
	// hcs_document is the JSON-encoded HCS [hcsschema.ComputeSystem] document
	// that was used to create the source VM. The destination reuses this
	// document verbatim (with [hcsschema.VirtualMachine.MigrationOptions]
	// set) when creating the destination VM, ensuring the two VMs have
	// identical hardware topology required for live-migration compatibility.
	HcsDocument []byte `protobuf:"bytes,7,opt,name=hcs_document,json=hcsDocument,proto3" json:"hcs_document,omitempty"`
	// bridge_next_id is the source bridge's next request-id. The destination
	// seeds its bridge above this so newly issued ids cannot collide with
	// requests the guest still has outstanding from the source.
	BridgeNextID int64 `protobuf:"varint,8,opt,name=bridge_next_id,json=bridgeNextId,proto3" json:"bridge_next_id,omitempty"`
	// contains filtered or unexported fields
}

Payload is the migration payload owned by the VM controller. It is the top-level message wrapped in an anypb.Any when handed off between source and destination shims. The SCSI sub-controller is carried as an opaque anypb.Any so it fully owns its own schema and versioning.

func (*Payload) Descriptor deprecated

func (*Payload) Descriptor() ([]byte, []int)

Deprecated: Use Payload.ProtoReflect.Descriptor instead.

func (*Payload) GetBridgeNextID

func (x *Payload) GetBridgeNextID() int64

func (*Payload) GetCompatInfo

func (x *Payload) GetCompatInfo() []byte

func (*Payload) GetGcsNextPort

func (x *Payload) GetGcsNextPort() uint32

func (*Payload) GetHcsDocument

func (x *Payload) GetHcsDocument() []byte

func (*Payload) GetSandboxOptions

func (x *Payload) GetSandboxOptions() *SandboxOptions

func (*Payload) GetSchemaVersion

func (x *Payload) GetSchemaVersion() uint32

func (*Payload) GetScsi

func (x *Payload) GetScsi() *anypb.Any

func (*Payload) GetVmID

func (x *Payload) GetVmID() string

func (*Payload) ProtoMessage

func (*Payload) ProtoMessage()

func (*Payload) ProtoReflect

func (x *Payload) ProtoReflect() protoreflect.Message

func (*Payload) Reset

func (x *Payload) Reset()

func (*Payload) String

func (x *Payload) String() string

type SandboxOptions

type SandboxOptions struct {

	// no_writable_file_shares disallows read/write file shares into the guest.
	NoWritableFileShares bool `` /* 126-byte string literal not displayed */
	// enable_scratch_encryption enables dm-crypt on the scratch disk.
	EnableScratchEncryption bool `` /* 133-byte string literal not displayed */
	// policy_based_routing enables policy-based routing in the guest network
	// stack.
	PolicyBasedRouting bool `protobuf:"varint,3,opt,name=policy_based_routing,json=policyBasedRouting,proto3" json:"policy_based_routing,omitempty"`
	// architecture is the guest CPU architecture (e.g. "amd64", "arm64").
	Architecture string `protobuf:"bytes,4,opt,name=architecture,proto3" json:"architecture,omitempty"`
	// fully_physically_backed forces all guest memory to be backed by physical
	// memory (disables hot-add) and, as a side effect, disables VPMEM.
	FullyPhysicallyBacked bool `` /* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

SandboxOptions is the set of VM-creation options preserved verbatim so the destination can build an equivalent VM.

func (*SandboxOptions) Descriptor deprecated

func (*SandboxOptions) Descriptor() ([]byte, []int)

Deprecated: Use SandboxOptions.ProtoReflect.Descriptor instead.

func (*SandboxOptions) GetArchitecture

func (x *SandboxOptions) GetArchitecture() string

func (*SandboxOptions) GetEnableScratchEncryption

func (x *SandboxOptions) GetEnableScratchEncryption() bool

func (*SandboxOptions) GetFullyPhysicallyBacked

func (x *SandboxOptions) GetFullyPhysicallyBacked() bool

func (*SandboxOptions) GetNoWritableFileShares

func (x *SandboxOptions) GetNoWritableFileShares() bool

func (*SandboxOptions) GetPolicyBasedRouting

func (x *SandboxOptions) GetPolicyBasedRouting() bool

func (*SandboxOptions) ProtoMessage

func (*SandboxOptions) ProtoMessage()

func (*SandboxOptions) ProtoReflect

func (x *SandboxOptions) ProtoReflect() protoreflect.Message

func (*SandboxOptions) Reset

func (x *SandboxOptions) Reset()

func (*SandboxOptions) String

func (x *SandboxOptions) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL