hcsschema

package
v0.7.9-dev Latest Latest
Warning

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

Go to latest
Published: Nov 5, 2018 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
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")
)

Functions

This section is empty.

Types

type APIKey

type APIKey struct {
	Key    string
	Prefix string
}

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 Battery

type Battery struct {
}

type CacheQueryStatsResponse

type CacheQueryStatsResponse struct {
	L3OccupancyBytes int32 `json:"L3OccupancyBytes,omitempty"`

	L3TotalBwBytes int32 `json:"L3TotalBwBytes,omitempty"`

	L3LocalBwBytes int32 `json:"L3LocalBwBytes,omitempty"`
}

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"`
}

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 *HostedSystem `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 ConsoleSize struct {
	Height int32 `json:"Height,omitempty"`

	Width int32 `json:"Width,omitempty"`
}

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 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 ContainerMemoryInformation

type ContainerMemoryInformation struct {
	TotalPhysicalBytes int32 `json:"TotalPhysicalBytes,omitempty"`

	TotalUsage int32 `json:"TotalUsage,omitempty"`

	CommittedBytes int32 `json:"CommittedBytes,omitempty"`

	SharedCommittedBytes int32 `json:"SharedCommittedBytes,omitempty"`

	CommitLimitBytes int32 `json:"CommitLimitBytes,omitempty"`

	PeakCommitmentBytes int32 `json:"PeakCommitmentBytes,omitempty"`
}

memory usage as viewed from within the container

type Device

type Device struct {

	//  The interface class guid of the device to assign to container.
	InterfaceClassGuid string `json:"InterfaceClassGuid,omitempty"`
}

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"`

	SharedMemory *SharedMemoryConfiguration `json:"SharedMemory,omitempty"`
}

type EnhancedModeVideo

type EnhancedModeVideo struct {
	ConnectionOptions *RdpConnectionOptions `json:"ConnectionOptions,omitempty"`
}

type FlexibleIoDevice

type FlexibleIoDevice struct {
	EmulatorId string `json:"EmulatorId,omitempty"`

	HostingModel string `json:"HostingModel,omitempty"`

	Configuration []string `json:"Configuration,omitempty"`
}

type GuestConnection

type GuestConnection struct {

	//  Use Vsock rather than Hyper-V sockets to communicate with the guest service.
	UseVsock bool `json:"UseVsock,omitempty"`

	//  Don't disconnect the guest connection when pausing the virtual machine.
	UseConnectedSuspend bool `json:"UseConnectedSuspend,omitempty"`
}

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 GuestOs

type GuestOs struct {
	HostName string `json:"HostName,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 HostedSystem

type HostedSystem struct {
	SchemaVersion *Version `json:"SchemaVersion,omitempty"`

	Container *Container `json:"Container,omitempty"`
}

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 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"`
}

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 Keyboard

type Keyboard struct {
}

type Layer

type Layer struct {
	Id string `json:"Id,omitempty"`

	Path string `json:"Path,omitempty"`

	PathType string `json:"PathType,omitempty"`

	//  Unspecified defaults to Enabled
	Cache string `json:"Cache,omitempty"`
}

type MappedDirectory

type MappedDirectory struct {
	HostPath string `json:"HostPath,omitempty"`

	HostPathType string `json:"HostPathType,omitempty"`

	ContainerPath string `json:"ContainerPath,omitempty"`

	ReadOnly bool `json:"ReadOnly,omitempty"`
}

type MappedPipe

type MappedPipe struct {
	ContainerPipeName string `json:"ContainerPipeName,omitempty"`

	HostPath string `json:"HostPath,omitempty"`

	HostPathType string `json:"HostPathType,omitempty"`
}

type Memory

type Memory struct {
	SizeInMB int32 `json:"SizeInMB,omitempty"`
}

type Memory2

type Memory2 struct {
	SizeInMB int32 `json:"SizeInMB,omitempty"`

	AllowOvercommit bool `json:"AllowOvercommit,omitempty"`

	EnableHotHint bool `json:"EnableHotHint,omitempty"`

	EnableColdHint bool `json:"EnableColdHint,omitempty"`

	EnableEpf bool `json:"EnableEpf,omitempty"`
}

type MemoryInformationForVm

type MemoryInformationForVm struct {
	VirtualNodeCount int32 `json:"VirtualNodeCount,omitempty"`

	VirtualMachineMemory *VmMemory `json:"VirtualMachineMemory,omitempty"`

	VirtualNodes []VirtualNodeInfo `json:"VirtualNodes,omitempty"`
}

type MemoryStats

type MemoryStats struct {
	MemoryUsageCommitBytes int32 `json:"MemoryUsageCommitBytes,omitempty"`

	MemoryUsageCommitPeakBytes int32 `json:"MemoryUsageCommitPeakBytes,omitempty"`

	MemoryUsagePrivateWorkingSetBytes int32 `json:"MemoryUsagePrivateWorkingSetBytes,omitempty"`
}

Memory runtime statistics

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 Mouse

type Mouse struct {
}

type NetworkAdapter

type NetworkAdapter struct {
	EndpointId string `json:"EndpointId,omitempty"`

	MacAddress string `json:"MacAddress,omitempty"`
}

type Networking

type Networking struct {
	AllowUnqualifiedDnsQuery bool `json:"AllowUnqualifiedDnsQuery,omitempty"`

	DnsSearchList string `json:"DnsSearchList,omitempty"`

	NetworkSharedContainerName string `json:"NetworkSharedContainerName,omitempty"`

	//  Guid in windows; string in linux
	Namespace string `json:"Namespace,omitempty"`

	NetworkAdapters []string `json:"NetworkAdapters,omitempty"`
}

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 Plan9

type Plan9 struct {
	Shares []Plan9Share `json:"Shares,omitempty"`
}

type Plan9Share

type Plan9Share struct {
	Name string `json:"Name,omitempty"`

	//  The name by which the guest operation system can access this share, via  the aname parameter in the Plan9 protocol.
	AccessName string `json:"AccessName,omitempty"`

	Path string `json:"Path,omitempty"`

	Port int32 `json:"Port,omitempty"`

	ReadOnly bool `json:"ReadOnly,omitempty"`

	UseShareRootIdentity bool `json:"UseShareRootIdentity,omitempty"`
}

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"`

	MemoryWorkingSetSharedBytes int32 `json:"MemoryWorkingSetSharedBytes,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 Processor

type Processor struct {
	Count int32 `json:"Count,omitempty"`

	Maximum int32 `json:"Maximum,omitempty"`

	Weight int32 `json:"Weight,omitempty"`
}

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"`
}

type ProcessorStats

type ProcessorStats struct {
	TotalRuntime100ns int32 `json:"TotalRuntime100ns,omitempty"`

	RuntimeUser100ns int32 `json:"RuntimeUser100ns,omitempty"`

	RuntimeKernel100ns int32 `json:"RuntimeKernel100ns,omitempty"`
}

CPU runtime statistics

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"`

	SharedMemoryRegionInfo []SharedMemoryRegionInfo `json:"SharedMemoryRegionInfo,omitempty"`

	GuestConnectionInfo *GuestConnectionInfo `json:"GuestConnectionInfo,omitempty"`
}

type PropertyQuery

type PropertyQuery struct {
	PropertyTypes []string `json:"PropertyTypes,omitempty"`
}

By default the basic properties will be returned. This query provides a way to request specific properties.

type RdpConnectionOptions

type RdpConnectionOptions struct {
	AccessSids []string `json:"AccessSids,omitempty"`

	NamedPipe string `json:"NamedPipe,omitempty"`
}

type RegistryChanges

type RegistryChanges struct {
	AddValues []RegistryValue `json:"AddValues,omitempty"`

	DeleteKeys []RegistryKey `json:"DeleteKeys,omitempty"`
}

type RegistryKey

type RegistryKey struct {
	Hive string `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_ 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 SaveOptions struct {

	//  The type of save operation to be performed.
	SaveType string `json:"SaveType,omitempty"`

	//  The path to the file that will container the saved state.
	SaveStateFilePath string `json:"SaveStateFilePath,omitempty"`
}

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 SharedMemoryConfiguration

type SharedMemoryConfiguration struct {
	Regions []SharedMemoryRegion `json:"Regions,omitempty"`
}

type SharedMemoryRegion

type SharedMemoryRegion struct {
	SectionName string `json:"SectionName,omitempty"`

	StartOffset int32 `json:"StartOffset,omitempty"`

	Length int32 `json:"Length,omitempty"`

	AllowGuestWrite bool `json:"AllowGuestWrite,omitempty"`

	HiddenFromGuest bool `json:"HiddenFromGuest,omitempty"`
}

type SharedMemoryRegionInfo

type SharedMemoryRegionInfo struct {
	SectionName string `json:"SectionName,omitempty"`

	GuestPhysicalAddress int32 `json:"GuestPhysicalAddress,omitempty"`
}

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 int32 `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 StorageQoS struct {
	IopsMaximum int32 `json:"IopsMaximum,omitempty"`

	BandwidthMaximum int32 `json:"BandwidthMaximum,omitempty"`
}

type StorageStats

type StorageStats struct {
	ReadCountNormalized int32 `json:"ReadCountNormalized,omitempty"`

	ReadSizeBytes int32 `json:"ReadSizeBytes,omitempty"`

	WriteCountNormalized int32 `json:"WriteCountNormalized,omitempty"`

	WriteSizeBytes int32 `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 UefiBootEntry struct {
	DeviceType string `json:"DeviceType,omitempty"`

	DevicePath string `json:"DevicePath,omitempty"`

	DiskNumber int32 `json:"DiskNumber,omitempty"`

	OptionalData string `json:"OptionalData,omitempty"`

	VmbFsRootPath string `json:"VmbFsRootPath,omitempty"`
}

type Version

type Version struct {
	Major int32 `json:"Major,omitempty"`

	Minor int32 `json:"Minor,omitempty"`
}

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 {
	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 VirtualNodeInfo struct {
	VirtualNodeIndex int32 `json:"VirtualNodeIndex,omitempty"`

	PhysicalNodeNumber int32 `json:"PhysicalNodeNumber,omitempty"`

	VirtualProcessorCount int32 `json:"VirtualProcessorCount,omitempty"`

	MemoryUsageInPages int32 `json:"MemoryUsageInPages,omitempty"`
}

type VirtualPMemController

type VirtualPMemController struct {
	Devices map[string]VirtualPMemDevice `json:"Devices,omitempty"`

	MaximumCount int32 `json:"MaximumCount,omitempty"`

	MaximumSizeBytes int32 `json:"MaximumSizeBytes,omitempty"`

	Backing string `json:"Backing,omitempty"`
}

type VirtualPMemDevice

type VirtualPMemDevice struct {
	HostPath string `json:"HostPath,omitempty"`

	ReadOnly bool `json:"ReadOnly,omitempty"`

	ImageFormat string `json:"ImageFormat,omitempty"`
}

type VirtualSmb

type VirtualSmb struct {
	Shares []VirtualSmbShare `json:"Shares,omitempty"`

	DirectFileMappingInMB int64 `json:"DirectFileMappingInMB,omitempty"`
}

type VirtualSmbShare

type VirtualSmbShare struct {
	Name string `json:"Name,omitempty"`

	Path string `json:"Path,omitempty"`

	AllowedFiles []string `json:"AllowedFiles,omitempty"`

	Options *VirtualSmbShareOptions `json:"Options,omitempty"`
}

type VirtualSmbShareOptions

type VirtualSmbShareOptions struct {
	ReadOnly bool `json:"ReadOnly,omitempty"`

	//  convert exclusive access to shared read access
	ShareRead bool `json:"ShareRead,omitempty"`

	//  all opens will use cached I/O
	CacheIo bool `json:"CacheIo,omitempty"`

	//  disable oplock support
	NoOplocks bool `json:"NoOplocks,omitempty"`

	//  Acquire the backup privilege when attempting to open
	TakeBackupPrivilege bool `json:"TakeBackupPrivilege,omitempty"`

	//  Use the identity of the share root when opening
	UseShareRootIdentity bool `json:"UseShareRootIdentity,omitempty"`

	//  disable Direct Mapping
	NoDirectmap bool `json:"NoDirectmap,omitempty"`

	//  disable Byterange locks
	NoLocks bool `json:"NoLocks,omitempty"`

	//  disable Directory CHange Notifications
	NoDirnotify bool `json:"NoDirnotify,omitempty"`

	//  share is use for VM shared memory
	VmSharedMemory bool `json:"VmSharedMemory,omitempty"`

	//  allow access only to the files specified in AllowedFiles
	RestrictFileAccess bool `json:"RestrictFileAccess,omitempty"`

	//  disable all oplocks except Level II
	ForceLevelIIOplocks bool `json:"ForceLevelIIOplocks,omitempty"`

	//  Allow the host to reparse this base layer
	ReparseBaseLayer bool `json:"ReparseBaseLayer,omitempty"`

	//  Enable pseudo-oplocks
	PseudoOplocks bool `json:"PseudoOplocks,omitempty"`

	//  All opens will use non-cached IO
	NonCacheIo bool `json:"NonCacheIo,omitempty"`

	//  Enable pseudo directory change notifications
	PseudoDirnotify bool `json:"PseudoDirnotify,omitempty"`

	//  Block directory enumeration, renames, and deletes.
	SingleFileMapping bool `json:"SingleFileMapping,omitempty"`
}

type VmMemory

type VmMemory struct {
	AvailableMemory int32 `json:"AvailableMemory,omitempty"`

	AvailableMemoryBuffer int32 `json:"AvailableMemoryBuffer,omitempty"`

	ReservedMemory int32 `json:"ReservedMemory,omitempty"`

	AssignedMemory int32 `json:"AssignedMemory,omitempty"`

	SlpActive bool `json:"SlpActive,omitempty"`

	BalancingEnabled bool `json:"BalancingEnabled,omitempty"`

	DmOperationInProgress bool `json:"DmOperationInProgress,omitempty"`
}

type WindowsCrashReporting

type WindowsCrashReporting struct {
	DumpFileName string `json:"DumpFileName,omitempty"`

	MaxDumpSize int64 `json:"MaxDumpSize,omitempty"`
}

Jump to

Keyboard shortcuts

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