schema

package
v0.0.0-...-4cf3db6 Latest Latest
Warning

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

Go to latest
Published: May 4, 2023 License: MIT Imports: 0 Imported by: 1

Documentation

Overview

Package schema contains the definitions of the Proxmox API objects

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Node

type Node struct {
	ID     string `json:",omitempty"` // ID of the node
	Node   string `json:",omitempty"` // The cluster node name
	Status string `json:",omitempty"` // Node status (e.g. online)
	Name   string `json:",omitempty"` // Name of the node

	NodeID  int    `json:",omitempty"` // [node] ID of the node from the corosync configuration.
	IP      string `json:",omitempty"` // [node] IP of the resolved nodename
	Level   string `json:",omitempty"` // [node] Proxmox VE Subscription level, indicates if eligible for enterprise support as well as access to the stable Proxmox VE Enterprise Repository.
	Local   bool   `json:",omitempty"` // [node] Indicates if this is the responding node.
	Online  bool   `json:",omitempty"` // [node] Indicates if the node is online or offline.
	Nodes   int    `json:",omitempty"` // [cluster] Nodes count, including offline nodes.
	Quorate bool   `json:",omitempty"` // [cluster] Indicates if there is a majority of nodes online to make decisions
	Version int    `json:",omitempty"` // [cluster] Current version of the corosync configuration file.

	CPU            int    `json:",omitempty"`                // CPU utilization
	MaxCPU         int    `json:",omitempty"`                // Number of available CPUs
	MaxMemory      int    `json:"maxmem,omitempty"`          // Number of available memory in bytes
	Memory         int    `json:"mem,omitempty"`             // Used memory in bytes
	Disk           int    `json:",omitempty"`                // Used disk in bytes
	MaxDisk        int    `json:",omitempty"`                // Number of available disk in bytes
	SSLFingerprint string `json:"ssl_fingerprint,omitempty"` // The SSL Fingerprint for the node certificate
	Uptime         int    `json:",omitempty"`                // Node uptime in seconds
	Type           string `json:",omitempty"`
}

Node represents a ProxmoxVE node It's an aggregate of data retrieved from /node/{node} and /cluster/status

type Storage

type Storage struct {
	Storage string `json:"storage"`        // Name of the storage
	Type    string `json:"type,omitempty"` // Type of storage

	Nodes    *string `json:"nodes,omitempty"`   // List of cluster node names where this storage is usable/accessible
	Content  *string `json:"content,omitempty"` // Allowed content types
	Shared   *int    `json:"shared,omitempty"`  // Whether the storage is  accessible from all nodes or not
	Disabled *int    `json:"disable,omitempty"` // Flag to disable the storage.

	Path *string `json:"path,omitempty"` // Absolute filesystem path for the storage

	LVMGroup *string `json:"vgname,omitempty"`   // LVM volume group name. This must point to an existing volume group.
	Thinpool *string `json:"thinpool,omitempty"` // Name of the LVM Thinpool

	Server  *string `json:"server,omitempty"`  // NFS endpoint
	Export  *string `json:"export,omitempty"`  // NFS export path
	Options *string `json:"options,omitempty"` // NFS mount options
}

Storage defines the schema of a storage pool

type Version

type Version struct {
	Commit  string `json:"repoid,omitempty"`  // The short git commit hash ID from which this version was build
	Release string `json:"release,omitempty"` // The current installed Proxmox VE Release
	Version string `json:"version,omitempty"` // The current installed pve-manager package version
}

Version represents the version of the proxmox packages installed on nodes

Jump to

Keyboard shortcuts

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