Documentation ¶
Index ¶
- Constants
- Variables
- type APIKey
- type Attachment
- type BasicAuth
- type Battery
- type CPUGroupOperation
- type CPUGroupPropertyCode
- type CacheQueryStatsResponse
- type Chipset
- type CimMount
- type CloseHandle
- type ComPort
- type ComputeSystem
- type Configuration
- type ConsoleSize
- type Container
- type ContainerCredentialGuardAddInstanceRequest
- type ContainerCredentialGuardHvSocketServiceConfig
- type ContainerCredentialGuardInstance
- type ContainerCredentialGuardModifyOperation
- type ContainerCredentialGuardOperationRequest
- type ContainerCredentialGuardRemoveInstanceRequest
- type ContainerCredentialGuardState
- type ContainerCredentialGuardSystemInfo
- type ContainerDefinitionDevice
- type ContainerMemoryInformation
- type CpuGroup
- type CpuGroupAffinity
- type CpuGroupConfig
- type CpuGroupConfigurations
- type CpuGroupProperty
- type CreateGroupOperation
- type DebugOptions
- type DeleteGroupOperation
- type Device
- type DeviceCategory
- type DeviceExtension
- type DeviceExtensionNamespace
- type DeviceInstance
- type DeviceNamespace
- type DeviceType
- type Devices
- type EnhancedModeVideo
- type FileSystemFilterType
- type FlexibleIoDevice
- type GuestConnection
- type GuestConnectionInfo
- type GuestCrashReporting
- type GuestOs
- type GuestState
- type HostProcessorModificationRequest
- type HostedSystem
- type HvSocket
- type HvSocket2
- type HvSocketAddress
- type HvSocketServiceConfig
- type HvSocketSystemConfig
- type InterfaceClass
- type InterruptModerationName
- type InterruptModerationValue
- type IovSettings
- type IsolationSettings
- type Keyboard
- type Layer
- type LinuxKernelDirect
- type LogicalProcessor
- type MappedDirectory
- type MappedPipe
- type Memory
- type Memory2
- type MemoryInformationForVm
- type MemoryStats
- type ModificationRequest
- type ModifySettingRequest
- type Mouse
- type NetworkAdapter
- type Networking
- type ObjectDirectory
- type ObjectNamespace
- type ObjectSymlink
- type PauseNotification
- type PauseOptions
- type Plan9
- type Plan9Share
- type ProcessDetails
- type ProcessModifyRequest
- type ProcessParameters
- type ProcessStatus
- type Processor
- type Processor2
- type ProcessorLimits
- type ProcessorStats
- type ProcessorTopology
- type Properties
- type PropertyQuery
- type PropertyType
- type RdpConnectionOptions
- type RegistryChanges
- type RegistryHive
- type RegistryKey
- type RegistryValue
- type RegistryValueType
- type RestoreState
- type SaveOptions
- type Scsi
- type SecuritySettings
- type ServiceProperties
- type SharedMemoryConfiguration
- type SharedMemoryRegion
- type SharedMemoryRegionInfo
- type SiloProperties
- type Statistics
- type Storage
- type StorageQoS
- type StorageStats
- type SystemTime
- type TimeZoneInformation
- type Topology
- type Uefi
- type UefiBootEntry
- type Version
- type VideoMonitor
- type VirtualMachine
- type VirtualNodeInfo
- type VirtualPMemController
- type VirtualPMemDevice
- type VirtualPMemMapping
- type VirtualPciDevice
- type VirtualPciFunction
- type VirtualSmb
- type VirtualSmbShare
- type VirtualSmbShareOptions
- type VmMemory
- type WindowsCrashReporting
Constants ¶
const ( CimMountFlagNone uint32 = 0x0 CimMountFlagChildOnly uint32 = 0x1 CimMountFlagEnableDax uint32 = 0x2 CimMountFlagCacheFiles uint32 = 0x4 CimMountFlagCacheRegions uint32 = 0x8 )
const ( CPUCapacityProperty = 0x00010000 CPUSchedulingPriorityProperty = 0x00020000 IdleLPReserveProperty = 0x00030000 )
Variables ¶
var ( // ContextOAuth2 takes a oauth2.TokenSource as authentication for the request. ContextOAuth2 = contextKey("token") // ContextBasicAuth takes BasicAuth as authentication for the request. ContextBasicAuth = contextKey("basic") // ContextAccessToken takes a string oauth2 access token as authentication for the request. ContextAccessToken = contextKey("accesstoken") // ContextAPIKey takes an APIKey as authentication for the request ContextAPIKey = contextKey("apikey") )
var InterruptModerationValueToName = map[InterruptModerationValue]InterruptModerationName{ DefaultValue: DefaultName, AdaptiveValue: AdaptiveName, OffValue: OffName, LowValue: LowName, MediumValue: MediumName, HighValue: HighName, }
Functions ¶
This section is empty.
Types ¶
type APIKey ¶
APIKey provides API key based authentication to a request passed via context using ContextAPIKey
type Attachment ¶
type Attachment struct { Type_ string `json:"Type,omitempty"` Path string `json:"Path,omitempty"` IgnoreFlushes bool `json:"IgnoreFlushes,omitempty"` CachingMode string `json:"CachingMode,omitempty"` NoWriteHardening bool `json:"NoWriteHardening,omitempty"` DisableExpansionOptimization bool `json:"DisableExpansionOptimization,omitempty"` IgnoreRelativeLocator bool `json:"IgnoreRelativeLocator,omitempty"` CaptureIoAttributionContext bool `json:"CaptureIoAttributionContext,omitempty"` ReadOnly bool `json:"ReadOnly,omitempty"` SupportCompressedVolumes bool `json:"SupportCompressedVolumes,omitempty"` AlwaysAllowSparseFiles bool `json:"AlwaysAllowSparseFiles,omitempty"` ExtensibleVirtualDiskType string `json:"ExtensibleVirtualDiskType,omitempty"` }
type BasicAuth ¶
type BasicAuth struct { UserName string `json:"userName,omitempty"` Password string `json:"password,omitempty"` }
BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth
type CPUGroupOperation ¶
type CPUGroupOperation string
const ( CreateGroup CPUGroupOperation = "CreateGroup" DeleteGroup CPUGroupOperation = "DeleteGroup" SetProperty CPUGroupOperation = "SetProperty" )
type CPUGroupPropertyCode ¶ added in v0.10.0
type CPUGroupPropertyCode uint32
type CacheQueryStatsResponse ¶
type Chipset ¶
type Chipset struct { Uefi *Uefi `json:"Uefi,omitempty"` IsNumLockDisabled bool `json:"IsNumLockDisabled,omitempty"` BaseBoardSerialNumber string `json:"BaseBoardSerialNumber,omitempty"` ChassisSerialNumber string `json:"ChassisSerialNumber,omitempty"` ChassisAssetTag string `json:"ChassisAssetTag,omitempty"` UseUtc bool `json:"UseUtc,omitempty"` // LinuxKernelDirect - Added in v2.2 Builds >=181117 LinuxKernelDirect *LinuxKernelDirect `json:"LinuxKernelDirect,omitempty"` }
type CloseHandle ¶
type CloseHandle struct {
Handle guestrequest.STDIOHandle `json:"Handle,omitempty"` // NOTE: Swagger generated as string. Locally updated.
}
type ComPort ¶
type ComPort struct { NamedPipe string `json:"NamedPipe,omitempty"` OptimizeForDebugger bool `json:"OptimizeForDebugger,omitempty"` }
ComPort specifies the named pipe that will be used for the port, with empty string indicating a disconnected port.
type ComputeSystem ¶
type ComputeSystem struct { Owner string `json:"Owner,omitempty"` SchemaVersion *Version `json:"SchemaVersion,omitempty"` HostingSystemId string `json:"HostingSystemId,omitempty"` HostedSystem interface{} `json:"HostedSystem,omitempty"` Container *Container `json:"Container,omitempty"` VirtualMachine *VirtualMachine `json:"VirtualMachine,omitempty"` ShouldTerminateOnLastHandleClosed bool `json:"ShouldTerminateOnLastHandleClosed,omitempty"` }
type Configuration ¶
type Configuration struct { BasePath string `json:"basePath,omitempty"` Host string `json:"host,omitempty"` Scheme string `json:"scheme,omitempty"` DefaultHeader map[string]string `json:"defaultHeader,omitempty"` UserAgent string `json:"userAgent,omitempty"` HTTPClient *http.Client }
func NewConfiguration ¶
func NewConfiguration() *Configuration
func (*Configuration) AddDefaultHeader ¶
func (c *Configuration) AddDefaultHeader(key string, value string)
type ConsoleSize ¶
type Container ¶
type Container struct { GuestOs *GuestOs `json:"GuestOs,omitempty"` Storage *Storage `json:"Storage,omitempty"` MappedDirectories []MappedDirectory `json:"MappedDirectories,omitempty"` MappedPipes []MappedPipe `json:"MappedPipes,omitempty"` Memory *Memory `json:"Memory,omitempty"` Processor *Processor `json:"Processor,omitempty"` Networking *Networking `json:"Networking,omitempty"` HvSocket *HvSocket `json:"HvSocket,omitempty"` ContainerCredentialGuard *ContainerCredentialGuardState `json:"ContainerCredentialGuard,omitempty"` RegistryChanges *RegistryChanges `json:"RegistryChanges,omitempty"` AssignedDevices []Device `json:"AssignedDevices,omitempty"` AdditionalDeviceNamespace *ContainerDefinitionDevice `json:"AdditionalDeviceNamespace,omitempty"` }
type ContainerCredentialGuardHvSocketServiceConfig ¶
type ContainerCredentialGuardHvSocketServiceConfig struct { ServiceId string `json:"ServiceId,omitempty"` ServiceConfig *HvSocketServiceConfig `json:"ServiceConfig,omitempty"` }
type ContainerCredentialGuardInstance ¶
type ContainerCredentialGuardInstance struct { Id string `json:"Id,omitempty"` CredentialGuard *ContainerCredentialGuardState `json:"CredentialGuard,omitempty"` HvSocketConfig *ContainerCredentialGuardHvSocketServiceConfig `json:"HvSocketConfig,omitempty"` }
type ContainerCredentialGuardModifyOperation ¶
type ContainerCredentialGuardModifyOperation string
const ( AddInstance ContainerCredentialGuardModifyOperation = "AddInstance" RemoveInstance ContainerCredentialGuardModifyOperation = "RemoveInstance" )
type ContainerCredentialGuardOperationRequest ¶
type ContainerCredentialGuardOperationRequest struct { Operation ContainerCredentialGuardModifyOperation `json:"Operation,omitempty"` OperationDetails interface{} `json:"OperationDetails,omitempty"` }
type ContainerCredentialGuardRemoveInstanceRequest ¶
type ContainerCredentialGuardRemoveInstanceRequest struct {
Id string `json:"Id,omitempty"`
}
type ContainerCredentialGuardState ¶
type ContainerCredentialGuardState struct { // Authentication cookie for calls to a Container Credential Guard instance. Cookie string `json:"Cookie,omitempty"` // Name of the RPC endpoint of the Container Credential Guard instance. RpcEndpoint string `json:"RpcEndpoint,omitempty"` // Transport used for the configured Container Credential Guard instance. Transport string `json:"Transport,omitempty"` // Credential spec used for the configured Container Credential Guard instance. CredentialSpec string `json:"CredentialSpec,omitempty"` }
type ContainerCredentialGuardSystemInfo ¶
type ContainerCredentialGuardSystemInfo struct {
Instances []ContainerCredentialGuardInstance `json:"Instances,omitempty"`
}
type ContainerDefinitionDevice ¶ added in v0.9.0
type ContainerDefinitionDevice struct {
DeviceExtension []DeviceExtension `json:"device_extension,omitempty"`
}
type ContainerMemoryInformation ¶
type ContainerMemoryInformation struct { TotalPhysicalBytes int32 `json:"TotalPhysicalBytes,omitempty"` TotalUsage int32 `json:"TotalUsage,omitempty"` CommittedBytes int32 `json:"CommittedBytes,omitempty"` CommitLimitBytes int32 `json:"CommitLimitBytes,omitempty"` PeakCommitmentBytes int32 `json:"PeakCommitmentBytes,omitempty"` }
memory usage as viewed from within the container
type CpuGroup ¶
type CpuGroup struct {
Id string `json:"Id,omitempty"`
}
CPU groups allow Hyper-V administrators to better manage and allocate the host's CPU resources across guest virtual machines
type CpuGroupAffinity ¶
type CpuGroupConfig ¶
type CpuGroupConfig struct { GroupId string `json:"GroupId,omitempty"` Affinity *CpuGroupAffinity `json:"Affinity,omitempty"` GroupProperties []CpuGroupProperty `json:"GroupProperties,omitempty"` // Hypervisor CPU group IDs exposed to clients HypervisorGroupId uint64 `json:"HypervisorGroupId,omitempty"` }
type CpuGroupConfigurations ¶
type CpuGroupConfigurations struct {
CpuGroups []CpuGroupConfig `json:"CpuGroups,omitempty"`
}
Structure used to return cpu groups for a Service property query
type CpuGroupProperty ¶
type CreateGroupOperation ¶
type CreateGroupOperation struct { GroupId string `json:"GroupId,omitempty"` LogicalProcessorCount uint32 `json:"LogicalProcessorCount,omitempty"` LogicalProcessors []uint32 `json:"LogicalProcessors,omitempty"` }
Create group operation settings
type DebugOptions ¶ added in v0.10.0
type DebugOptions struct { // BugcheckSavedStateFileName is the path for the file in which the guest VM state will be saved when // the guest crashes. BugcheckSavedStateFileName string `json:"BugcheckSavedStateFileName,omitempty"` // BugcheckNoCrashdumpSavedStateFileName is the path of the file in which the guest VM state will be // saved when the guest crashes but the guest isn't able to generate the crash dump. This usually // happens in early boot failures. BugcheckNoCrashdumpSavedStateFileName string `json:"BugcheckNoCrashdumpSavedStateFileName,omitempty"` TripleFaultSavedStateFileName string `json:"TripleFaultSavedStateFileName,omitempty"` FirmwareDumpFileName string `json:"FirmwareDumpFileName,omitempty"` }
type DeleteGroupOperation ¶
type DeleteGroupOperation struct {
GroupId string `json:"GroupId,omitempty"`
}
Delete group operation settings
type Device ¶
type Device struct { // The type of device to assign to the container. Type DeviceType `json:"Type,omitempty"` // The interface class guid of the device interfaces to assign to the container. Only used when Type is ClassGuid. InterfaceClassGuid string `json:"InterfaceClassGuid,omitempty"` // The location path of the device to assign to the container. Only used when Type is DeviceInstanceID. LocationPath string `json:"LocationPath,omitempty"` }
type DeviceCategory ¶ added in v0.9.0
type DeviceCategory struct { Name string `json:"name,omitempty"` InterfaceClass []InterfaceClass `json:"interface_class,omitempty"` }
type DeviceExtension ¶ added in v0.9.0
type DeviceExtension struct { DeviceCategory *DeviceCategory `json:"device_category,omitempty"` Namespace *DeviceExtensionNamespace `json:"namespace,omitempty"` }
type DeviceExtensionNamespace ¶ added in v0.9.0
type DeviceExtensionNamespace struct { Ob *ObjectNamespace `json:"ob,omitempty"` Device *DeviceNamespace `json:"device,omitempty"` }
type DeviceInstance ¶
type DeviceInstance struct { Id string `json:"id,omitempty"` LocationPath string `json:"location_path,omitempty"` PortName string `json:"port_name,omitempty"` InterfaceClass []InterfaceClass `json:"interface_class,omitempty"` }
type DeviceNamespace ¶ added in v0.9.0
type DeviceNamespace struct { RequiresDriverstore bool `json:"requires_driverstore,omitempty"` DeviceCategory []DeviceCategory `json:"device_category,omitempty"` DeviceInstance []DeviceInstance `json:"device_instance,omitempty"` }
type DeviceType ¶
type DeviceType string
const ( ClassGUID DeviceType = "ClassGuid" DeviceInstanceID DeviceType = "DeviceInstance" GPUMirror DeviceType = "GpuMirror" )
type Devices ¶
type Devices struct { ComPorts map[string]ComPort `json:"ComPorts,omitempty"` Scsi map[string]Scsi `json:"Scsi,omitempty"` VirtualPMem *VirtualPMemController `json:"VirtualPMem,omitempty"` NetworkAdapters map[string]NetworkAdapter `json:"NetworkAdapters,omitempty"` VideoMonitor *VideoMonitor `json:"VideoMonitor,omitempty"` Keyboard *Keyboard `json:"Keyboard,omitempty"` Mouse *Mouse `json:"Mouse,omitempty"` HvSocket *HvSocket2 `json:"HvSocket,omitempty"` EnhancedModeVideo *EnhancedModeVideo `json:"EnhancedModeVideo,omitempty"` GuestCrashReporting *GuestCrashReporting `json:"GuestCrashReporting,omitempty"` VirtualSmb *VirtualSmb `json:"VirtualSmb,omitempty"` Plan9 *Plan9 `json:"Plan9,omitempty"` Battery *Battery `json:"Battery,omitempty"` FlexibleIov map[string]FlexibleIoDevice `json:"FlexibleIov,omitempty"` // TODO: This is pre-release support in schema 2.3. Need to add build number // docs when a public build with this is out. VirtualPci map[string]VirtualPciDevice `json:",omitempty"` }
type EnhancedModeVideo ¶
type EnhancedModeVideo struct {
ConnectionOptions *RdpConnectionOptions `json:"ConnectionOptions,omitempty"`
}
type FileSystemFilterType ¶ added in v0.12.0
type FileSystemFilterType string
const ( UnionFS FileSystemFilterType = "UnionFS" WCIFS FileSystemFilterType = "WCIFS" )
type FlexibleIoDevice ¶
type GuestConnection ¶
type GuestConnectionInfo ¶
type GuestConnectionInfo struct { // Each schema version x.y stands for the range of versions a.b where a==x and b<=y. This list comes from the SupportedSchemaVersions field in GcsCapabilities. SupportedSchemaVersions []Version `json:"SupportedSchemaVersions,omitempty"` ProtocolVersion int32 `json:"ProtocolVersion,omitempty"` GuestDefinedCapabilities *interface{} `json:"GuestDefinedCapabilities,omitempty"` }
Information about the guest.
type GuestCrashReporting ¶
type GuestCrashReporting struct {
WindowsCrashSettings *WindowsCrashReporting `json:"WindowsCrashSettings,omitempty"`
}
type GuestState ¶
type GuestState struct { // The path to an existing file uses for persistent guest state storage. An empty string indicates the system should initialize new transient, in-memory guest state. GuestStateFilePath string `json:"GuestStateFilePath,omitempty"` // The guest state file type affected by different guest isolation modes - whether a file or block storage. GuestStateFileType string `json:"GuestStateFileType,omitempty"` // The path to an existing file for persistent runtime state storage. An empty string indicates the system should initialize new transient, in-memory runtime state. RuntimeStateFilePath string `json:"RuntimeStateFilePath,omitempty"` // If true, the guest state and runtime state files will be used as templates to populate transient, in-memory state instead of using the files as persistent backing store. ForceTransientState bool `json:"ForceTransientState,omitempty"` }
type HostProcessorModificationRequest ¶
type HostProcessorModificationRequest struct { Operation CPUGroupOperation `json:"Operation,omitempty"` OperationDetails interface{} `json:"OperationDetails,omitempty"` }
Structure used to request a service processor modification
type HostedSystem ¶
type HvSocket ¶
type HvSocket struct { Config *HvSocketSystemConfig `json:"Config,omitempty"` EnablePowerShellDirect bool `json:"EnablePowerShellDirect,omitempty"` }
type HvSocket2 ¶
type HvSocket2 struct {
HvSocketConfig *HvSocketSystemConfig `json:"HvSocketConfig,omitempty"`
}
HvSocket configuration for a VM
type HvSocketAddress ¶
type HvSocketAddress struct { LocalAddress string `json:"LocalAddress,omitempty"` ParentAddress string `json:"ParentAddress,omitempty"` }
This class defines address settings applied to a VM by the GCS every time a VM starts or restores.
type HvSocketServiceConfig ¶
type HvSocketServiceConfig struct { // SDDL string that HvSocket will check before allowing a host process to bind to this specific service. If not specified, defaults to the system DefaultBindSecurityDescriptor, defined in HvSocketSystemWpConfig in V1. BindSecurityDescriptor string `json:"BindSecurityDescriptor,omitempty"` // SDDL string that HvSocket will check before allowing a host process to connect to this specific service. If not specified, defaults to the system DefaultConnectSecurityDescriptor, defined in HvSocketSystemWpConfig in V1. ConnectSecurityDescriptor string `json:"ConnectSecurityDescriptor,omitempty"` // If true, HvSocket will process wildcard binds for this service/system combination. Wildcard binds are secured in the registry at SOFTWARE/Microsoft/Windows NT/CurrentVersion/Virtualization/HvSocket/WildcardDescriptors AllowWildcardBinds bool `json:"AllowWildcardBinds,omitempty"` // Disabled controls whether the HvSocket service is accepting connection requests. // This set to true will make the service refuse all incoming connections as well as cancel // any connections already established. The service itself will still be active however // and can be re-enabled at a future time. Disabled bool `json:"Disabled,omitempty"` }
type HvSocketSystemConfig ¶
type HvSocketSystemConfig struct { // SDDL string that HvSocket will check before allowing a host process to bind to an unlisted service for this specific container/VM (not wildcard binds). DefaultBindSecurityDescriptor string `json:"DefaultBindSecurityDescriptor,omitempty"` // SDDL string that HvSocket will check before allowing a host process to connect to an unlisted service in the VM/container. DefaultConnectSecurityDescriptor string `json:"DefaultConnectSecurityDescriptor,omitempty"` ServiceTable map[string]HvSocketServiceConfig `json:"ServiceTable,omitempty"` }
This is the HCS Schema version of the HvSocket configuration. The VMWP version is located in Config.Devices.IC in V1.
type InterfaceClass ¶ added in v0.9.0
type InterruptModerationName ¶
type InterruptModerationName string
const ( DefaultName InterruptModerationName = "Default" AdaptiveName InterruptModerationName = "Adaptive" OffName InterruptModerationName = "Off" LowName InterruptModerationName = "Low" MediumName InterruptModerationName = "Medium" HighName InterruptModerationName = "High" )
The valid interrupt moderation modes for I/O virtualization (IOV) offloading.
type InterruptModerationValue ¶
type InterruptModerationValue uint32
const ( DefaultValue InterruptModerationValue = iota AdaptiveValue OffValue LowValue InterruptModerationValue = 100 MediumValue InterruptModerationValue = 200 HighValue InterruptModerationValue = 300 )
type IovSettings ¶
type IovSettings struct { // The weight assigned to this port for I/O virtualization (IOV) offloading. // Setting this to 0 disables IOV offloading. OffloadWeight *uint32 `json:"OffloadWeight,omitempty"` // The number of queue pairs requested for this port for I/O virtualization (IOV) offloading. QueuePairsRequested *uint32 `json:"QueuePairsRequested,omitempty"` // The interrupt moderation mode for I/O virtualization (IOV) offloading. InterruptModeration *InterruptModerationName `json:"InterruptModeration,omitempty"` }
type IsolationSettings ¶ added in v0.10.0
type IsolationSettings struct { // Guest isolation type options to decide virtual trust levels of virtual machine IsolationType string `json:"IsolationType,omitempty"` // Configuration to debug HCL layer for HCS VM TODO: Task 31102306: Miss the way to prevent the exposure of private debug configuration in HCS TODO: Think about the secret configurations which are private in VMMS VM (only edit by hvsedit) DebugHost string `json:"DebugHost,omitempty"` DebugPort int64 `json:"DebugPort,omitempty"` // Optional data passed by host on isolated virtual machine start LaunchData string `json:"LaunchData,omitempty"` HclEnabled *bool `json:"HclEnabled,omitempty"` }
type LinuxKernelDirect ¶
type LogicalProcessor ¶
type MappedDirectory ¶
type MappedPipe ¶
type Memory2 ¶
type Memory2 struct { SizeInMB uint64 `json:"SizeInMB,omitempty"` AllowOvercommit bool `json:"AllowOvercommit,omitempty"` EnableHotHint bool `json:"EnableHotHint,omitempty"` EnableColdHint bool `json:"EnableColdHint,omitempty"` EnableEpf bool `json:"EnableEpf,omitempty"` // EnableDeferredCommit is private in the schema. If regenerated need to add back. EnableDeferredCommit bool `json:"EnableDeferredCommit,omitempty"` // EnableColdDiscardHint if enabled, then the memory cold discard hint feature is exposed // to the VM, allowing it to trim non-zeroed pages from the working set (if supported by // the guest operating system). EnableColdDiscardHint bool `json:"EnableColdDiscardHint,omitempty"` // LowMmioGapInMB is the low MMIO region allocated below 4GB. // // TODO: This is pre-release support in schema 2.3. Need to add build number // docs when a public build with this is out. LowMMIOGapInMB uint64 `json:"LowMmioGapInMB,omitempty"` // HighMmioBaseInMB is the high MMIO region allocated above 4GB (base and // size). // // TODO: This is pre-release support in schema 2.3. Need to add build number // docs when a public build with this is out. HighMMIOBaseInMB uint64 `json:"HighMmioBaseInMB,omitempty"` // HighMmioGapInMB is the high MMIO region. // // TODO: This is pre-release support in schema 2.3. Need to add build number // docs when a public build with this is out. HighMMIOGapInMB uint64 `json:"HighMmioGapInMB,omitempty"` }
type MemoryInformationForVm ¶
type MemoryInformationForVm struct { VirtualNodeCount uint32 `json:"VirtualNodeCount,omitempty"` VirtualMachineMemory *VmMemory `json:"VirtualMachineMemory,omitempty"` VirtualNodes []VirtualNodeInfo `json:"VirtualNodes,omitempty"` }
type MemoryStats ¶
type MemoryStats struct { MemoryUsageCommitBytes uint64 `json:"MemoryUsageCommitBytes,omitempty"` MemoryUsageCommitPeakBytes uint64 `json:"MemoryUsageCommitPeakBytes,omitempty"` MemoryUsagePrivateWorkingSetBytes uint64 `json:"MemoryUsagePrivateWorkingSetBytes,omitempty"` }
Memory runtime statistics
type ModificationRequest ¶
type ModificationRequest struct { PropertyType PropertyType `json:"PropertyType,omitempty"` Settings interface{} `json:"Settings,omitempty"` }
type ModifySettingRequest ¶
type ModifySettingRequest struct { ResourcePath string `json:"ResourcePath,omitempty"` RequestType guestrequest.RequestType `json:"RequestType,omitempty"` // NOTE: Swagger generated as string. Locally updated. Settings interface{} `json:"Settings,omitempty"` // NOTE: Swagger generated as *interface{}. Locally updated GuestRequest interface{} `json:"GuestRequest,omitempty"` // NOTE: Swagger generated as *interface{}. Locally updated }
type NetworkAdapter ¶
type NetworkAdapter struct { EndpointId string `json:"EndpointId,omitempty"` MacAddress string `json:"MacAddress,omitempty"` // The I/O virtualization (IOV) offloading configuration. IovSettings *IovSettings `json:"IovSettings,omitempty"` }
type Networking ¶
type ObjectDirectory ¶ added in v0.9.0
type ObjectDirectory struct { Name string `json:"name,omitempty"` Clonesd string `json:"clonesd,omitempty"` Shadow string `json:"shadow,omitempty"` Symlink []ObjectSymlink `json:"symlink,omitempty"` Objdir []ObjectDirectory `json:"objdir,omitempty"` }
type ObjectNamespace ¶ added in v0.9.0
type ObjectNamespace struct { Shadow string `json:"shadow,omitempty"` Symlink []ObjectSymlink `json:"symlink,omitempty"` Objdir []ObjectDirectory `json:"objdir,omitempty"` }
type ObjectSymlink ¶ added in v0.9.0
type PauseNotification ¶
type PauseNotification struct {
Reason string `json:"Reason,omitempty"`
}
Notification data that is indicated to components running in the Virtual Machine.
type PauseOptions ¶
type PauseOptions struct { SuspensionLevel string `json:"SuspensionLevel,omitempty"` HostedNotification *PauseNotification `json:"HostedNotification,omitempty"` }
Options for HcsPauseComputeSystem
type Plan9Share ¶
type ProcessDetails ¶
type ProcessDetails struct { ProcessId int32 `json:"ProcessId,omitempty"` ImageName string `json:"ImageName,omitempty"` CreateTimestamp time.Time `json:"CreateTimestamp,omitempty"` UserTime100ns int32 `json:"UserTime100ns,omitempty"` KernelTime100ns int32 `json:"KernelTime100ns,omitempty"` MemoryCommitBytes int32 `json:"MemoryCommitBytes,omitempty"` MemoryWorkingSetPrivateBytes int32 `json:"MemoryWorkingSetPrivateBytes,omitempty"` }
Information about a process running in a container
type ProcessModifyRequest ¶
type ProcessModifyRequest struct { Operation guestrequest.ProcessModifyOperation `json:"Operation,omitempty"` // NOTE: Swagger generated as string. Locally updated. ConsoleSize *ConsoleSize `json:"ConsoleSize,omitempty"` CloseHandle *CloseHandle `json:"CloseHandle,omitempty"` }
Passed to HcsRpc_ModifyProcess
type ProcessParameters ¶
type ProcessParameters struct { ApplicationName string `json:"ApplicationName,omitempty"` CommandLine string `json:"CommandLine,omitempty"` // optional alternative to CommandLine, currently only supported by Linux GCS CommandArgs []string `json:"CommandArgs,omitempty"` User string `json:"User,omitempty"` WorkingDirectory string `json:"WorkingDirectory,omitempty"` Environment map[string]string `json:"Environment,omitempty"` // if set, will run as low-privilege process RestrictedToken bool `json:"RestrictedToken,omitempty"` // if set, ignore StdErrPipe EmulateConsole bool `json:"EmulateConsole,omitempty"` CreateStdInPipe bool `json:"CreateStdInPipe,omitempty"` CreateStdOutPipe bool `json:"CreateStdOutPipe,omitempty"` CreateStdErrPipe bool `json:"CreateStdErrPipe,omitempty"` // height then width ConsoleSize []int32 `json:"ConsoleSize,omitempty"` // if set, find an existing session for the user and create the process in it UseExistingLogin bool `json:"UseExistingLogin,omitempty"` // if set, use the legacy console instead of conhost UseLegacyConsole bool `json:"UseLegacyConsole,omitempty"` }
type ProcessStatus ¶
type ProcessStatus struct { ProcessId uint32 `json:"ProcessId,omitempty"` // NOTE: Swagger generated as int32. Locally updated to match documentation. Exited bool `json:"Exited,omitempty"` ExitCode uint32 `json:"ExitCode,omitempty"` // NOTE: Swagger generated as int32. Locally updated to match documentation. LastWaitResult int32 `json:"LastWaitResult,omitempty"` }
Status of a process running in a container
type Processor2 ¶
type Processor2 struct { Count int32 `json:"Count,omitempty"` Limit int32 `json:"Limit,omitempty"` Weight int32 `json:"Weight,omitempty"` ExposeVirtualizationExtensions bool `json:"ExposeVirtualizationExtensions,omitempty"` // An optional object that configures the CPU Group to which a Virtual Machine is going to bind to. CpuGroup *CpuGroup `json:"CpuGroup,omitempty"` }
type ProcessorLimits ¶
type ProcessorLimits struct { // Maximum amount of host CPU resources that the virtual machine can use. Limit uint64 `json:"Limit,omitempty"` // Value describing the relative priority of this virtual machine compared to other virtual machines. Weight uint64 `json:"Weight,omitempty"` // Minimum amount of host CPU resources that the virtual machine is guaranteed. Reservation uint64 `json:"Reservation,omitempty"` // Provides the target maximum CPU frequency, in MHz, for a virtual machine. MaximumFrequencyMHz uint32 `json:"MaximumFrequencyMHz,omitempty"` }
ProcessorLimits is used when modifying processor scheduling limits of a virtual machine.
type ProcessorStats ¶
type ProcessorStats struct { TotalRuntime100ns uint64 `json:"TotalRuntime100ns,omitempty"` RuntimeUser100ns uint64 `json:"RuntimeUser100ns,omitempty"` RuntimeKernel100ns uint64 `json:"RuntimeKernel100ns,omitempty"` }
CPU runtime statistics
type ProcessorTopology ¶
type ProcessorTopology struct { LogicalProcessorCount uint32 `json:"LogicalProcessorCount,omitempty"` LogicalProcessors []LogicalProcessor `json:"LogicalProcessors,omitempty"` }
type Properties ¶
type Properties struct { Id string `json:"Id,omitempty"` SystemType string `json:"SystemType,omitempty"` RuntimeOsType string `json:"RuntimeOsType,omitempty"` Name string `json:"Name,omitempty"` Owner string `json:"Owner,omitempty"` RuntimeId string `json:"RuntimeId,omitempty"` RuntimeTemplateId string `json:"RuntimeTemplateId,omitempty"` State string `json:"State,omitempty"` Stopped bool `json:"Stopped,omitempty"` ExitType string `json:"ExitType,omitempty"` Memory *MemoryInformationForVm `json:"Memory,omitempty"` Statistics *Statistics `json:"Statistics,omitempty"` ProcessList []ProcessDetails `json:"ProcessList,omitempty"` TerminateOnLastHandleClosed bool `json:"TerminateOnLastHandleClosed,omitempty"` HostingSystemId string `json:"HostingSystemId,omitempty"` GuestConnectionInfo *GuestConnectionInfo `json:"GuestConnectionInfo,omitempty"` // Metrics is not part of the API for HCS but this is used for LCOW v2 to // return the full cgroup metrics from the guest. Metrics *v1.Metrics `json:"LCOWMetrics,omitempty"` }
type PropertyQuery ¶
type PropertyQuery struct {
PropertyTypes []PropertyType `json:"PropertyTypes,omitempty"`
}
By default the basic properties will be returned. This query provides a way to request specific properties.
type PropertyType ¶
type PropertyType string
const ( PTMemory PropertyType = "Memory" PTGuestMemory PropertyType = "GuestMemory" PTStatistics PropertyType = "Statistics" PTProcessList PropertyType = "ProcessList" PTTerminateOnLastHandleClosed PropertyType = "TerminateOnLastHandleClosed" PTContainerCredentialGuard PropertyType = "ContainerCredentialGuard" // This field is not generated by swagger. This was added manually. PTGuestConnection PropertyType = "GuestConnection" PTICHeartbeatStatus PropertyType = "ICHeartbeatStatus" PTProcessorTopology PropertyType = "ProcessorTopology" PTCPUGroup PropertyType = "CpuGroup" )
type RdpConnectionOptions ¶
type RegistryChanges ¶
type RegistryChanges struct { AddValues []RegistryValue `json:"AddValues,omitempty"` DeleteKeys []RegistryKey `json:"DeleteKeys,omitempty"` }
type RegistryHive ¶ added in v0.12.0
type RegistryHive string
const ( RegistryHive_SYSTEM RegistryHive = "System" RegistryHive_SOFTWARE RegistryHive = "Software" RegistryHive_SECURITY RegistryHive = "Security" RegistryHive_SAM RegistryHive = "Sam" )
List of RegistryHive
type RegistryKey ¶
type RegistryKey struct { Hive RegistryHive `json:"Hive,omitempty"` Name string `json:"Name,omitempty"` Volatile bool `json:"Volatile,omitempty"` }
type RegistryValue ¶
type RegistryValue struct { Key *RegistryKey `json:"Key,omitempty"` Name string `json:"Name,omitempty"` Type_ RegistryValueType `json:"Type,omitempty"` // One and only one value type must be set. StringValue string `json:"StringValue,omitempty"` BinaryValue string `json:"BinaryValue,omitempty"` DWordValue int32 `json:"DWordValue,omitempty"` QWordValue int32 `json:"QWordValue,omitempty"` // Only used if RegistryValueType is CustomType The data is in BinaryValue CustomType int32 `json:"CustomType,omitempty"` }
type RegistryValueType ¶ added in v0.12.0
type RegistryValueType string
const ( RegistryValueType_NONE RegistryValueType = "None" RegistryValueType_STRING RegistryValueType = "String" RegistryValueType_EXPANDED_STRING RegistryValueType = "ExpandedString" RegistryValueType_MULTI_STRING RegistryValueType = "MultiString" RegistryValueType_BINARY RegistryValueType = "Binary" RegistryValueType_D_WORD RegistryValueType = "DWord" RegistryValueType_Q_WORD RegistryValueType = "QWord" RegistryValueType_CUSTOM_TYPE RegistryValueType = "CustomType" )
List of RegistryValueType
type RestoreState ¶
type RestoreState struct { // The path to the save state file to restore the system from. SaveStateFilePath string `json:"SaveStateFilePath,omitempty"` // The ID of the template system to clone this new system off of. An empty string indicates the system should not be cloned from a template. TemplateSystemId string `json:"TemplateSystemId,omitempty"` }
type SaveOptions ¶
type Scsi ¶
type Scsi struct { // Map of attachments, where the key is the integer LUN number on the controller. Attachments map[string]Attachment `json:"Attachments,omitempty"` }
type SecuritySettings ¶ added in v0.10.0
type SecuritySettings struct { // Enablement of Trusted Platform Module on the computer system EnableTpm bool `json:"EnableTpm,omitempty"` Isolation *IsolationSettings `json:"Isolation,omitempty"` }
type ServiceProperties ¶
type ServiceProperties struct { // Changed Properties field to []json.RawMessage from []interface{} to avoid having to // remarshal sp.Properties[n] and unmarshal into the type(s) we want. Properties []json.RawMessage `json:"Properties,omitempty"` }
type SharedMemoryConfiguration ¶
type SharedMemoryConfiguration struct {
}type SharedMemoryRegion ¶
type SharedMemoryRegion struct {}
type SharedMemoryRegionInfo ¶
type SharedMemoryRegionInfo struct {}
type SiloProperties ¶
type SiloProperties struct { Enabled bool `json:"Enabled,omitempty"` JobName string `json:"JobName,omitempty"` }
Silo job information
type Statistics ¶
type Statistics struct { Timestamp time.Time `json:"Timestamp,omitempty"` ContainerStartTime time.Time `json:"ContainerStartTime,omitempty"` Uptime100ns uint64 `json:"Uptime100ns,omitempty"` Processor *ProcessorStats `json:"Processor,omitempty"` Memory *MemoryStats `json:"Memory,omitempty"` Storage *StorageStats `json:"Storage,omitempty"` }
Runtime statistics for a container
type Storage ¶
type Storage struct { // List of layers that describe the parent hierarchy for a container's storage. These layers combined together, presented as a disposable and/or committable working storage, are used by the container to record all changes done to the parent layers. Layers []Layer `json:"Layers,omitempty"` // Path that points to the scratch space of a container, where parent layers are combined together to present a new disposable and/or committable layer with the changes done during its runtime. Path string `json:"Path,omitempty"` QoS *StorageQoS `json:"QoS,omitempty"` }
type StorageQoS ¶
type StorageStats ¶
type StorageStats struct { ReadCountNormalized uint64 `json:"ReadCountNormalized,omitempty"` ReadSizeBytes uint64 `json:"ReadSizeBytes,omitempty"` WriteCountNormalized uint64 `json:"WriteCountNormalized,omitempty"` WriteSizeBytes uint64 `json:"WriteSizeBytes,omitempty"` }
Storage runtime statistics
type SystemTime ¶ added in v0.10.0
type SystemTime struct { Year int32 `json:"Year,omitempty"` Month int32 `json:"Month,omitempty"` DayOfWeek int32 `json:"DayOfWeek,omitempty"` Day int32 `json:"Day,omitempty"` Hour int32 `json:"Hour,omitempty"` Minute int32 `json:"Minute,omitempty"` Second int32 `json:"Second,omitempty"` Milliseconds int32 `json:"Milliseconds,omitempty"` }
type TimeZoneInformation ¶ added in v0.10.0
type TimeZoneInformation struct { Bias int32 `json:"Bias,omitempty"` StandardName string `json:"StandardName,omitempty"` StandardDate *SystemTime `json:"StandardDate,omitempty"` StandardBias int32 `json:"StandardBias,omitempty"` DaylightName string `json:"DaylightName,omitempty"` DaylightDate *SystemTime `json:"DaylightDate,omitempty"` DaylightBias int32 `json:"DaylightBias,omitempty"` }
type Topology ¶
type Topology struct { Memory *Memory2 `json:"Memory,omitempty"` Processor *Processor2 `json:"Processor,omitempty"` }
type Uefi ¶
type Uefi struct { EnableDebugger bool `json:"EnableDebugger,omitempty"` ApplySecureBootTemplate string `json:"ApplySecureBootTemplate,omitempty"` SecureBootTemplateId string `json:"SecureBootTemplateId,omitempty"` BootThis *UefiBootEntry `json:"BootThis,omitempty"` Console string `json:"Console,omitempty"` }
type UefiBootEntry ¶
type VideoMonitor ¶
type VideoMonitor struct { HorizontalResolution int32 `json:"HorizontalResolution,omitempty"` VerticalResolution int32 `json:"VerticalResolution,omitempty"` ConnectionOptions *RdpConnectionOptions `json:"ConnectionOptions,omitempty"` }
type VirtualMachine ¶
type VirtualMachine struct { // StopOnReset is private in the schema. If regenerated need to put back. StopOnReset bool `json:"StopOnReset,omitempty"` Chipset *Chipset `json:"Chipset,omitempty"` ComputeTopology *Topology `json:"ComputeTopology,omitempty"` Devices *Devices `json:"Devices,omitempty"` GuestState *GuestState `json:"GuestState,omitempty"` RestoreState *RestoreState `json:"RestoreState,omitempty"` RegistryChanges *RegistryChanges `json:"RegistryChanges,omitempty"` StorageQoS *StorageQoS `json:"StorageQoS,omitempty"` GuestConnection *GuestConnection `json:"GuestConnection,omitempty"` SecuritySettings *SecuritySettings `json:"SecuritySettings,omitempty"` DebugOptions *DebugOptions `json:"DebugOptions,omitempty"` }
type VirtualNodeInfo ¶
type VirtualPMemController ¶
type VirtualPMemController struct { Devices map[string]VirtualPMemDevice `json:"Devices,omitempty"` MaximumCount uint32 `json:"MaximumCount,omitempty"` MaximumSizeBytes uint64 `json:"MaximumSizeBytes,omitempty"` Backing string `json:"Backing,omitempty"` }
type VirtualPMemDevice ¶
type VirtualPMemMapping ¶ added in v0.9.0
type VirtualPciDevice ¶
type VirtualPciDevice struct {
Functions []VirtualPciFunction `json:",omitempty"`
}
TODO: This is pre-release support in schema 2.3. Need to add build number docs when a public build with this is out.
type VirtualPciFunction ¶
type VirtualPciFunction struct { DeviceInstancePath string `json:",omitempty"` VirtualFunction uint16 `json:",omitempty"` }
TODO: This is pre-release support in schema 2.3. Need to add build number docs when a public build with this is out.
type VirtualSmb ¶
type VirtualSmb struct { DirectFileMappingInMB int64 `json:"DirectFileMappingInMB,omitempty"` }
type VirtualSmbShare ¶
type VirtualSmbShare struct {}
type VirtualSmbShareOptions ¶
type VirtualSmbShareOptions struct { bool `json:"ShareRead,omitempty"` CacheIo bool `json:"CacheIo,omitempty"` NoOplocks bool `json:"NoOplocks,omitempty"` TakeBackupPrivilege bool `json:"TakeBackupPrivilege,omitempty"` UseShareRootIdentity bool `json:"UseShareRootIdentity,omitempty"` NoDirectmap bool `json:"NoDirectmap,omitempty"` NoLocks bool `json:"NoLocks,omitempty"` NoDirnotify bool `json:"NoDirnotify,omitempty"` VmSharedMemory bool `json:"VmSharedMemory,omitempty"` RestrictFileAccess bool `json:"RestrictFileAccess,omitempty"` ForceLevelIIOplocks bool `json:"ForceLevelIIOplocks,omitempty"` ReparseBaseLayer bool `json:"ReparseBaseLayer,omitempty"` PseudoOplocks bool `json:"PseudoOplocks,omitempty"` NonCacheIo bool `json:"NonCacheIo,omitempty"` PseudoDirnotify bool `json:"PseudoDirnotify,omitempty"` SingleFileMapping bool `json:"SingleFileMapping,omitempty"` }ShareRead
type VmMemory ¶
type VmMemory struct { AvailableMemory int32 `json:"AvailableMemory,omitempty"` AvailableMemoryBuffer int32 `json:"AvailableMemoryBuffer,omitempty"` ReservedMemory uint64 `json:"ReservedMemory,omitempty"` AssignedMemory uint64 `json:"AssignedMemory,omitempty"` SlpActive bool `json:"SlpActive,omitempty"` BalancingEnabled bool `json:"BalancingEnabled,omitempty"` DmOperationInProgress bool `json:"DmOperationInProgress,omitempty"` }
type WindowsCrashReporting ¶
Source Files ¶
- attachment.go
- battery.go
- cache_query_stats_response.go
- chipset.go
- cim_mount.go
- close_handle.go
- com_port.go
- compute_system.go
- configuration.go
- console_size.go
- container.go
- container_credential_guard_add_instance_request.go
- container_credential_guard_hv_socket_service_config.go
- container_credential_guard_instance.go
- container_credential_guard_modify_operation.go
- container_credential_guard_operation_request.go
- container_credential_guard_remove_instance_request.go
- container_credential_guard_state.go
- container_credential_guard_system_info.go
- container_memory_information.go
- cpu_group.go
- cpu_group_affinity.go
- cpu_group_config.go
- cpu_group_configurations.go
- cpu_group_operations.go
- cpu_group_property.go
- create_group_operation.go
- debug_options.go
- delete_group_operation.go
- device.go
- devices.go
- enhanced_mode_video.go
- flexible_io_device.go
- guest_connection.go
- guest_connection_info.go
- guest_crash_reporting.go
- guest_os.go
- guest_state.go
- host_processor_modify_request.go
- hosted_system.go
- hv_socket.go
- hv_socket_2.go
- hv_socket_address.go
- hv_socket_service_config.go
- hv_socket_system_config.go
- interrupt_moderation_mode.go
- iov_settings.go
- isolation_settings.go
- keyboard.go
- layer.go
- linux_kernel_direct.go
- logical_processor.go
- mapped_directory.go
- mapped_pipe.go
- memory.go
- memory_2.go
- memory_information_for_vm.go
- memory_stats.go
- model_container_definition_device.go
- model_device_category.go
- model_device_extension.go
- model_device_instance.go
- model_device_namespace.go
- model_interface_class.go
- model_namespace.go
- model_object_directory.go
- model_object_namespace.go
- model_object_symlink.go
- modification_request.go
- modify_setting_request.go
- mouse.go
- network_adapter.go
- networking.go
- pause_notification.go
- pause_options.go
- plan9.go
- plan9_share.go
- process_details.go
- process_modify_request.go
- process_parameters.go
- process_status.go
- processor.go
- processor_2.go
- processor_stats.go
- processor_topology.go
- properties.go
- property_query.go
- property_type.go
- rdp_connection_options.go
- registry_changes.go
- registry_hive.go
- registry_key.go
- registry_value.go
- registry_value_type.go
- restore_state.go
- save_options.go
- scsi.go
- security_settings.go
- service_properties.go
- shared_memory_configuration.go
- shared_memory_region.go
- shared_memory_region_info.go
- silo_properties.go
- statistics.go
- storage.go
- storage_qo_s.go
- storage_stats.go
- system_time.go
- time_zone_information.go
- topology.go
- uefi.go
- uefi_boot_entry.go
- version.go
- video_monitor.go
- virtual_machine.go
- virtual_node_info.go
- virtual_p_mem_controller.go
- virtual_p_mem_device.go
- virtual_p_mem_mapping.go
- virtual_pci_device.go
- virtual_pci_function.go
- virtual_smb.go
- virtual_smb_share.go
- virtual_smb_share_options.go
- vm_memory.go
- vm_processor_limits.go
- windows_crash_reporting.go