Documentation
¶
Index ¶
- Variables
- type Payload
- func (*Payload) Descriptor() ([]byte, []int)deprecated
- func (x *Payload) GetBridgeNextID() int64
- func (x *Payload) GetCompatInfo() []byte
- func (x *Payload) GetGcsNextPort() uint32
- func (x *Payload) GetHcsDocument() []byte
- func (x *Payload) GetSandboxOptions() *SandboxOptions
- func (x *Payload) GetSchemaVersion() uint32
- func (x *Payload) GetScsi() *anypb.Any
- func (x *Payload) GetVmID() string
- func (*Payload) ProtoMessage()
- func (x *Payload) ProtoReflect() protoreflect.Message
- func (x *Payload) Reset()
- func (x *Payload) String() string
- type SandboxOptions
- func (*SandboxOptions) Descriptor() ([]byte, []int)deprecated
- func (x *SandboxOptions) GetArchitecture() string
- func (x *SandboxOptions) GetEnableScratchEncryption() bool
- func (x *SandboxOptions) GetFullyPhysicallyBacked() bool
- func (x *SandboxOptions) GetNoWritableFileShares() bool
- func (x *SandboxOptions) GetPolicyBasedRouting() bool
- func (*SandboxOptions) ProtoMessage()
- func (x *SandboxOptions) ProtoReflect() protoreflect.Message
- func (x *SandboxOptions) Reset()
- func (x *SandboxOptions) String() string
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) GetBridgeNextID ¶
func (*Payload) GetCompatInfo ¶
func (*Payload) GetGcsNextPort ¶
func (*Payload) GetHcsDocument ¶
func (*Payload) GetSandboxOptions ¶
func (x *Payload) GetSandboxOptions() *SandboxOptions
func (*Payload) GetSchemaVersion ¶
func (*Payload) ProtoMessage ¶
func (*Payload) ProtoMessage()
func (*Payload) ProtoReflect ¶
func (x *Payload) ProtoReflect() protoreflect.Message
type SandboxOptions ¶
type SandboxOptions struct {
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
Click to show internal directories.
Click to hide internal directories.