Documentation
¶
Index ¶
- Variables
- type APIKey
- type Attachment
- type BasicAuth
- type Battery
- type CPUGroupOperation
- type CacheQueryStatsResponse
- type Chipset
- 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 ContainerMemoryInformation
- type CpuGroup
- type CpuGroupAffinity
- type CpuGroupConfig
- type CpuGroupConfigurations
- type CpuGroupProperty
- type CreateGroupOperation
- type DeleteGroupOperation
- type Device
- type DeviceType
- type Devices
- type EnhancedModeVideo
- 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 InterruptModerationName
- type InterruptModerationValue
- type IovSettings
- 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 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 RegistryKey
- type RegistryValue
- type RestoreState
- type SaveOptions
- type Scsi
- type ServiceProperties
- type SharedMemoryConfiguration
- type SharedMemoryRegion
- type SharedMemoryRegionInfo
- type SiloProperties
- type Statistics
- type Storage
- type StorageQoS
- type StorageStats
- type Topology
- type Uefi
- type UefiBootEntry
- type Version
- type VideoMonitor
- type VirtualMachine
- type VirtualNodeInfo
- type VirtualPMemController
- type VirtualPMemDevice
- type VirtualPciDevice
- type VirtualPciFunction
- type VirtualSmb
- type VirtualSmbShare
- type VirtualSmbShareOptions
- type VmMemory
- type WindowsCrashReporting
Constants ¶
This section is empty.
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"`
}
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 ¶ added in v0.8.13
type CPUGroupOperation string
const ( CreateGroup CPUGroupOperation = "CreateGroup" DeleteGroup CPUGroupOperation = "DeleteGroup" SetProperty CPUGroupOperation = "SetProperty" )
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 string `json:"Handle,omitempty"`
}
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"`
}
type ContainerCredentialGuardAddInstanceRequest ¶ added in v0.8.10
type ContainerCredentialGuardHvSocketServiceConfig ¶ added in v0.8.10
type ContainerCredentialGuardHvSocketServiceConfig struct {
ServiceId string `json:"ServiceId,omitempty"`
ServiceConfig *HvSocketServiceConfig `json:"ServiceConfig,omitempty"`
}
type ContainerCredentialGuardInstance ¶ added in v0.8.10
type ContainerCredentialGuardInstance struct {
Id string `json:"Id,omitempty"`
CredentialGuard *ContainerCredentialGuardState `json:"CredentialGuard,omitempty"`
HvSocketConfig *ContainerCredentialGuardHvSocketServiceConfig `json:"HvSocketConfig,omitempty"`
}
type ContainerCredentialGuardModifyOperation ¶ added in v0.8.10
type ContainerCredentialGuardModifyOperation string
const ( AddInstance ContainerCredentialGuardModifyOperation = "AddInstance" RemoveInstance ContainerCredentialGuardModifyOperation = "RemoveInstance" )
type ContainerCredentialGuardOperationRequest ¶ added in v0.8.10
type ContainerCredentialGuardOperationRequest struct {
Operation ContainerCredentialGuardModifyOperation `json:"Operation,omitempty"`
OperationDetails interface{} `json:"OperationDetails,omitempty"`
}
type ContainerCredentialGuardRemoveInstanceRequest ¶ added in v0.8.10
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 ¶ added in v0.8.10
type ContainerCredentialGuardSystemInfo struct {
Instances []ContainerCredentialGuardInstance `json:"Instances,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 ¶ added in v0.8.13
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 ¶ added in v0.8.13
type CpuGroupConfig ¶ added in v0.8.13
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 int32 `json:"HypervisorGroupId,omitempty"`
}
type CpuGroupConfigurations ¶ added in v0.8.13
type CpuGroupConfigurations struct {
CpuGroups []CpuGroupConfig `json:"CpuGroups,omitempty"`
}
Structure used to return cpu groups for a Service property query
type CpuGroupProperty ¶ added in v0.8.13
type CreateGroupOperation ¶ added in v0.8.13
type CreateGroupOperation struct {
GroupId string `json:"GroupId,omitempty"`
LogicalProcessorCount uint32 `json:"LogicalProcessorCount,omitempty"`
LogicalProcessors []uint32 `json:"LogicalProcessors,omitempty"`
}
Create group operation settings
type DeleteGroupOperation ¶ added in v0.8.13
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 DeviceInstance.
LocationPath string `json:"LocationPath,omitempty"`
}
type DeviceType ¶ added in v0.8.10
type DeviceType string
const ( ClassGUID DeviceType = "ClassGuid" DeviceInstance 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 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 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 ¶ added in v0.8.13
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 ¶ added in v0.8.10
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 InterruptModerationName ¶ added in v0.8.16
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 ¶ added in v0.8.16
type InterruptModerationValue uint32
const ( DefaultValue InterruptModerationValue = iota AdaptiveValue OffValue LowValue InterruptModerationValue = 100 MediumValue InterruptModerationValue = 200 HighValue InterruptModerationValue = 300 )
type IovSettings ¶ added in v0.8.16
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 LinuxKernelDirect ¶ added in v0.8.3
type LogicalProcessor ¶ added in v0.8.10
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 ¶ added in v0.8.10
type ModificationRequest struct {
PropertyType PropertyType `json:"PropertyType,omitempty"`
Settings interface{} `json:"Settings,omitempty"`
}
type ModifySettingRequest ¶
type ModifySettingRequest struct {
ResourcePath string `json:"ResourcePath,omitempty"`
RequestType string `json:"RequestType,omitempty"`
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 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 string `json:"Operation,omitempty"`
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 int32 `json:"ProcessId,omitempty"`
Exited bool `json:"Exited,omitempty"`
ExitCode int32 `json:"ExitCode,omitempty"`
LastWaitResult int32 `json:"LastWaitResult,omitempty"`
}
Status of a process running in a container
type Processor2 ¶
type ProcessorLimits ¶ added in v0.8.13
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 ¶ added in v0.8.10
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 ¶ added in v0.8.7
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 RegistryKey ¶
type RegistryValue ¶
type RegistryValue struct {
Key *RegistryKey `json:"Key,omitempty"`
Name string `json:"Name,omitempty"`
Type_ string `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 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 ServiceProperties ¶ added in v0.8.10
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 Topology ¶
type Topology struct {
Memory *Memory2 `json:"Memory,omitempty"`
Processor *Processor2 `json:"Processor,omitempty"`
}
type Uefi ¶
type Uefi struct {
EnableDebugger bool `json:"EnableDebugger,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"`
}
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 VirtualPciDevice ¶ added in v0.8.8
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 ¶ added in v0.8.8
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 {
ShareRead 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"`
}
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
- 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
- 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
- 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
- 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_key.go
- registry_value.go
- restore_state.go
- save_options.go
- scsi.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
- 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_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