nodes

package
v0.0.2 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2023 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AplDownloadAplinfoRequest

type AplDownloadAplinfoRequest struct {
	Node     string `url:"node",json:"node"`         // The cluster node name.
	Storage  string `url:"storage",json:"storage"`   // The storage where the template will be stored
	Template string `url:"template",json:"template"` // The template which will downloaded

}

type AplDownloadAplinfoResponse

type AplDownloadAplinfoResponse string

type AplinfoRequest

type AplinfoRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

}

type AplinfoResponse

type AplinfoResponse []*map[string]interface{}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func New

func New(c HTTPClient) *Client

func (*Client) AplDownloadAplinfo

func (c *Client) AplDownloadAplinfo(ctx context.Context, req *AplDownloadAplinfoRequest) (*AplDownloadAplinfoResponse, error)

AplDownloadAplinfo Download appliance templates.

func (*Client) Aplinfo

func (c *Client) Aplinfo(ctx context.Context, req *AplinfoRequest) (*AplinfoResponse, error)

Aplinfo Get list of appliances.

func (*Client) DeleteSubscription

func (c *Client) DeleteSubscription(ctx context.Context, req *DeleteSubscriptionRequest) (*DeleteSubscriptionResponse, error)

DeleteSubscription Delete subscription key of this node.

func (*Client) Dns

func (c *Client) Dns(ctx context.Context, req *DnsRequest) (*DnsResponse, error)

Dns Read DNS settings.

func (*Client) Execute

func (c *Client) Execute(ctx context.Context, req *ExecuteRequest) (*ExecuteResponse, error)

Execute Execute multiple commands in order.

func (*Client) Find

func (c *Client) Find(ctx context.Context, req *FindRequest) (*FindResponse, error)

Find Node index.

func (*Client) GetConfig

func (c *Client) GetConfig(ctx context.Context, req *GetConfigRequest) (*GetConfigResponse, error)

GetConfig Get node configuration options.

func (*Client) GetEtcHosts

func (c *Client) GetEtcHosts(ctx context.Context, req *GetEtcHostsRequest) (*GetEtcHostsResponse, error)

GetEtcHosts Get the content of /etc/hosts.

func (*Client) GetSubscription

func (c *Client) GetSubscription(ctx context.Context, req *GetSubscriptionRequest) (*GetSubscriptionResponse, error)

GetSubscription Read subscription info.

func (*Client) Index

func (c *Client) Index(ctx context.Context) (*IndexResponse, error)

Index Cluster node index.

func (*Client) Journal

func (c *Client) Journal(ctx context.Context, req *JournalRequest) (*JournalResponse, error)

Journal Read Journal

func (*Client) Migrateall

func (c *Client) Migrateall(ctx context.Context, req *MigrateallRequest) (*MigrateallResponse, error)

Migrateall Migrate all VMs and Containers.

func (*Client) Netstat

func (c *Client) Netstat(ctx context.Context, req *NetstatRequest) (*NetstatResponse, error)

Netstat Read tap/vm network device interface counters

func (*Client) NodeCmdStatus

func (c *Client) NodeCmdStatus(ctx context.Context, req *NodeCmdStatusRequest) (*NodeCmdStatusResponse, error)

NodeCmdStatus Reboot or shutdown a node.

func (*Client) QueryUrlMetadata

func (c *Client) QueryUrlMetadata(ctx context.Context, req *QueryUrlMetadataRequest) (*QueryUrlMetadataResponse, error)

QueryUrlMetadata Query metadata of an URL: file size, file name and mime type.

func (*Client) Report

func (c *Client) Report(ctx context.Context, req *ReportRequest) (*ReportResponse, error)

Report Gather various systems information about a node

func (*Client) Rrd

func (c *Client) Rrd(ctx context.Context, req *RrdRequest) (*RrdResponse, error)

Rrd Read node RRD statistics (returns PNG)

func (*Client) Rrddata

func (c *Client) Rrddata(ctx context.Context, req *RrddataRequest) (*RrddataResponse, error)

Rrddata Read node RRD statistics

func (*Client) SetOptionsConfig

func (c *Client) SetOptionsConfig(ctx context.Context, req *SetOptionsConfigRequest) (*SetOptionsConfigResponse, error)

SetOptionsConfig Set node configuration options.

func (*Client) SetSubscription

func (c *Client) SetSubscription(ctx context.Context, req *SetSubscriptionRequest) (*SetSubscriptionResponse, error)

SetSubscription Set subscription key.

func (*Client) SetTimezoneTime

func (c *Client) SetTimezoneTime(ctx context.Context, req *SetTimezoneTimeRequest) (*SetTimezoneTimeResponse, error)

SetTimezoneTime Set time zone.

func (*Client) Spiceshell

func (c *Client) Spiceshell(ctx context.Context, req *SpiceshellRequest) (*SpiceshellResponse, error)

Spiceshell Creates a SPICE shell.

func (*Client) Startall

func (c *Client) Startall(ctx context.Context, req *StartallRequest) (*StartallResponse, error)

Startall Start all VMs and containers located on this node (by default only those with onboot=1).

func (*Client) Status

func (c *Client) Status(ctx context.Context, req *StatusRequest) (*StatusResponse, error)

Status Read node status

func (*Client) Stopall

func (c *Client) Stopall(ctx context.Context, req *StopallRequest) (*StopallResponse, error)

Stopall Stop all VMs and Containers.

func (*Client) Syslog

func (c *Client) Syslog(ctx context.Context, req *SyslogRequest) (*SyslogResponse, error)

Syslog Read system log

func (*Client) Termproxy

func (c *Client) Termproxy(ctx context.Context, req *TermproxyRequest) (*TermproxyResponse, error)

Termproxy Creates a VNC Shell proxy.

func (*Client) Time

func (c *Client) Time(ctx context.Context, req *TimeRequest) (*TimeResponse, error)

Time Read server time and time zone settings.

func (*Client) UpdateDns

func (c *Client) UpdateDns(ctx context.Context, req *UpdateDnsRequest) (*UpdateDnsResponse, error)

UpdateDns Write DNS settings.

func (*Client) UpdateSubscription

func (c *Client) UpdateSubscription(ctx context.Context, req *UpdateSubscriptionRequest) (*UpdateSubscriptionResponse, error)

UpdateSubscription Update subscription info.

func (*Client) Version

func (c *Client) Version(ctx context.Context, req *VersionRequest) (*VersionResponse, error)

Version API version details

func (*Client) Vncshell

func (c *Client) Vncshell(ctx context.Context, req *VncshellRequest) (*VncshellResponse, error)

Vncshell Creates a VNC Shell proxy.

func (*Client) Vncwebsocket

func (c *Client) Vncwebsocket(ctx context.Context, req *VncwebsocketRequest) (*VncwebsocketResponse, error)

Vncwebsocket Opens a websocket for VNC traffic.

func (*Client) Wakeonlan

func (c *Client) Wakeonlan(ctx context.Context, req *WakeonlanRequest) (*WakeonlanResponse, error)

Wakeonlan Try to wake a node via 'wake on LAN' network packet.

func (*Client) WriteEtcHosts

func (c *Client) WriteEtcHosts(ctx context.Context, req *WriteEtcHostsRequest) (*WriteEtcHostsResponse, error)

WriteEtcHosts Write /etc/hosts.

type DeleteSubscriptionRequest

type DeleteSubscriptionRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

}

type DeleteSubscriptionResponse

type DeleteSubscriptionResponse map[string]interface{}

type DnsRequest

type DnsRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

}

type DnsResponse

type DnsResponse map[string]interface{}

type ExecuteRequest

type ExecuteRequest struct {
	Commands string `url:"commands",json:"commands"` // JSON encoded array of commands.
	Node     string `url:"node",json:"node"`         // The cluster node name.

}

type ExecuteResponse

type ExecuteResponse []*map[string]interface{}

type FindRequest

type FindRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

}

type FindResponse

type FindResponse []*map[string]interface{}

type GetConfigRequest

type GetConfigRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

	// The following parameters are optional
	Property *string `url:"property,omitempty",json:"property,omitempty"` // Return only a specific property from the node configuration.
}

type GetConfigResponse

type GetConfigResponse map[string]interface{}

type GetEtcHostsRequest

type GetEtcHostsRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

}

type GetEtcHostsResponse

type GetEtcHostsResponse struct {
	Data string `url:"data",json:"data"` // The content of /etc/hosts.

	// The following parameters are optional
	Digest *string `url:"digest,omitempty",json:"digest,omitempty"` // Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.
}

type GetSubscriptionRequest

type GetSubscriptionRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

}

type GetSubscriptionResponse

type GetSubscriptionResponse map[string]interface{}

type HTTPClient

type HTTPClient interface {
	Do(context.Context, string, string, interface{}, interface{}) error
}

type IndexResponse

type IndexResponse []*struct {
	Node   string `url:"node",json:"node"`     // The cluster node name.
	Status string `url:"status",json:"status"` // Node status.

	// The following parameters are optional
	Cpu            *float64 `url:"cpu,omitempty",json:"cpu,omitempty"`                         // CPU utilization.
	Level          *string  `url:"level,omitempty",json:"level,omitempty"`                     // Support level.
	Maxcpu         *int     `url:"maxcpu,omitempty",json:"maxcpu,omitempty"`                   // Number of available CPUs.
	Maxmem         *int     `url:"maxmem,omitempty",json:"maxmem,omitempty"`                   // Number of available memory in bytes.
	Mem            *int     `url:"mem,omitempty",json:"mem,omitempty"`                         // Used memory in bytes.
	SslFingerprint *string  `url:"ssl_fingerprint,omitempty",json:"ssl_fingerprint,omitempty"` // The SSL fingerprint for the node certificate.
	Uptime         *int     `url:"uptime,omitempty",json:"uptime,omitempty"`                   // Node uptime in seconds.
}

type JournalRequest

type JournalRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

	// The following parameters are optional
	Endcursor   *string `url:"endcursor,omitempty",json:"endcursor,omitempty"`     // End before the given Cursor. Conflicts with 'until'
	Lastentries *int    `url:"lastentries,omitempty",json:"lastentries,omitempty"` // Limit to the last X lines. Conflicts with a range.
	Since       *int    `url:"since,omitempty",json:"since,omitempty"`             // Display all log since this UNIX epoch. Conflicts with 'startcursor'.
	Startcursor *string `url:"startcursor,omitempty",json:"startcursor,omitempty"` // Start after the given Cursor. Conflicts with 'since'
	Until       *int    `url:"until,omitempty",json:"until,omitempty"`             // Display all log until this UNIX epoch. Conflicts with 'endcursor'.
}

type JournalResponse

type JournalResponse []string

type MigrateallRequest

type MigrateallRequest struct {
	Node   string `url:"node",json:"node"`     // The cluster node name.
	Target string `url:"target",json:"target"` // Target node.

	// The following parameters are optional
	Maxworkers     *int    `url:"maxworkers,omitempty",json:"maxworkers,omitempty"`             // Maximal number of parallel migration job. If not set use 'max_workers' from datacenter.cfg, one of both must be set!
	Vms            *string `url:"vms,omitempty",json:"vms,omitempty"`                           // Only consider Guests with these IDs.
	WithLocalDisks *bool   `url:"with-local-disks,omitempty",json:"with-local-disks,omitempty"` // Enable live storage migration for local disk
}

type MigrateallResponse

type MigrateallResponse string

type NetstatRequest

type NetstatRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

}

type NetstatResponse

type NetstatResponse []*map[string]interface{}

type NodeCmdStatusRequest

type NodeCmdStatusRequest struct {
	Command string `url:"command",json:"command"` // Specify the command.
	Node    string `url:"node",json:"node"`       // The cluster node name.

}

type NodeCmdStatusResponse

type NodeCmdStatusResponse map[string]interface{}

type QueryUrlMetadataRequest

type QueryUrlMetadataRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.
	Url  string `url:"url",json:"url"`   // The URL to query the metadata from.

	// The following parameters are optional
	VerifyCertificates *bool `url:"verify-certificates,omitempty",json:"verify-certificates,omitempty"` // If false, no SSL/TLS certificates will be verified.
}

type QueryUrlMetadataResponse

type QueryUrlMetadataResponse map[string]interface{}

type ReportRequest

type ReportRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

}

type ReportResponse

type ReportResponse string

type RrdRequest

type RrdRequest struct {
	Ds        string `url:"ds",json:"ds"`               // The list of datasources you want to display.
	Node      string `url:"node",json:"node"`           // The cluster node name.
	Timeframe string `url:"timeframe",json:"timeframe"` // Specify the time frame you are interested in.

	// The following parameters are optional
	Cf *string `url:"cf,omitempty",json:"cf,omitempty"` // The RRD consolidation function
}

type RrdResponse

type RrdResponse struct {
	Filename string `url:"filename",json:"filename"`
}

type RrddataRequest

type RrddataRequest struct {
	Node      string `url:"node",json:"node"`           // The cluster node name.
	Timeframe string `url:"timeframe",json:"timeframe"` // Specify the time frame you are interested in.

	// The following parameters are optional
	Cf *string `url:"cf,omitempty",json:"cf,omitempty"` // The RRD consolidation function
}

type RrddataResponse

type RrddataResponse []*map[string]interface{}

type SetOptionsConfigRequest

type SetOptionsConfigRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

	// The following parameters are optional
	Acme                *string `url:"acme,omitempty",json:"acme,omitempty"`                                   // Node specific ACME settings.
	Acmedomainn         *string `url:"acmedomain[n],omitempty",json:"acmedomain[n],omitempty"`                 // ACME domain and validation plugin
	Delete              *string `url:"delete,omitempty",json:"delete,omitempty"`                               // A list of settings you want to delete.
	Description         *string `url:"description,omitempty",json:"description,omitempty"`                     // Description for the Node. Shown in the web-interface node notes panel. This is saved as comment inside the configuration file.
	Digest              *string `url:"digest,omitempty",json:"digest,omitempty"`                               // Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.
	StartallOnbootDelay *int    `url:"startall-onboot-delay,omitempty",json:"startall-onboot-delay,omitempty"` // Initial delay in seconds, before starting all the Virtual Guests with on-boot enabled.
	Wakeonlan           *string `url:"wakeonlan,omitempty",json:"wakeonlan,omitempty"`                         // MAC address for wake on LAN
}

type SetOptionsConfigResponse

type SetOptionsConfigResponse map[string]interface{}

type SetSubscriptionRequest

type SetSubscriptionRequest struct {
	Key  string `url:"key",json:"key"`   // Proxmox VE subscription key
	Node string `url:"node",json:"node"` // The cluster node name.

}

type SetSubscriptionResponse

type SetSubscriptionResponse map[string]interface{}

type SetTimezoneTimeRequest

type SetTimezoneTimeRequest struct {
	Node     string `url:"node",json:"node"`         // The cluster node name.
	Timezone string `url:"timezone",json:"timezone"` // Time zone. The file '/usr/share/zoneinfo/zone.tab' contains the list of valid names.

}

type SetTimezoneTimeResponse

type SetTimezoneTimeResponse map[string]interface{}

type SpiceshellRequest

type SpiceshellRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

	// The following parameters are optional
	Cmd     *string `url:"cmd,omitempty",json:"cmd,omitempty"`           // Run specific command or default to login.
	CmdOpts *string `url:"cmd-opts,omitempty",json:"cmd-opts,omitempty"` // Add parameters to a command. Encoded as null terminated strings.
	Proxy   *string `url:"proxy,omitempty",json:"proxy,omitempty"`       // SPICE proxy server. This can be used by the client to specify the proxy server. All nodes in a cluster runs 'spiceproxy', so it is up to the client to choose one. By default, we return the node where the VM is currently running. As reasonable setting is to use same node you use to connect to the API (This is window.location.hostname for the JS GUI).
}

type SpiceshellResponse

type SpiceshellResponse struct {
	Host     string `url:"host",json:"host"`
	Password string `url:"password",json:"password"`
	Proxy    string `url:"proxy",json:"proxy"`
	TlsPort  int    `url:"tls-port",json:"tls-port"`
	Type     string `url:"type",json:"type"`
}

type StartallRequest

type StartallRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

	// The following parameters are optional
	Force *bool   `url:"force,omitempty",json:"force,omitempty"` // Issue start command even if virtual guest have 'onboot' not set or set to off.
	Vms   *string `url:"vms,omitempty",json:"vms,omitempty"`     // Only consider guests from this comma separated list of VMIDs.
}

type StartallResponse

type StartallResponse string

type StatusRequest

type StatusRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

}

type StatusResponse

type StatusResponse map[string]interface{}

type StopallRequest

type StopallRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

	// The following parameters are optional
	Vms *string `url:"vms,omitempty",json:"vms,omitempty"` // Only consider Guests with these IDs.
}

type StopallResponse

type StopallResponse string

type SyslogRequest

type SyslogRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

	// The following parameters are optional
	Limit   *int    `url:"limit,omitempty",json:"limit,omitempty"`
	Service *string `url:"service,omitempty",json:"service,omitempty"` // Service ID
	Since   *string `url:"since,omitempty",json:"since,omitempty"`     // Display all log since this date-time string.
	Start   *int    `url:"start,omitempty",json:"start,omitempty"`
	Until   *string `url:"until,omitempty",json:"until,omitempty"` // Display all log until this date-time string.
}

type SyslogResponse

type SyslogResponse []*struct {
	N int    `url:"n",json:"n"` // Line number
	T string `url:"t",json:"t"` // Line text

}

type TermproxyRequest

type TermproxyRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

	// The following parameters are optional
	Cmd     *string `url:"cmd,omitempty",json:"cmd,omitempty"`           // Run specific command or default to login.
	CmdOpts *string `url:"cmd-opts,omitempty",json:"cmd-opts,omitempty"` // Add parameters to a command. Encoded as null terminated strings.
}

type TermproxyResponse

type TermproxyResponse struct {
	Port   int    `url:"port",json:"port"`
	Ticket string `url:"ticket",json:"ticket"`
	Upid   string `url:"upid",json:"upid"`
	User   string `url:"user",json:"user"`
}

type TimeRequest

type TimeRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

}

type TimeResponse

type TimeResponse struct {
	Localtime int    `url:"localtime",json:"localtime"` // Seconds since 1970-01-01 00:00:00 (local time)
	Time      int    `url:"time",json:"time"`           // Seconds since 1970-01-01 00:00:00 UTC.
	Timezone  string `url:"timezone",json:"timezone"`   // Time zone

}

type UpdateDnsRequest

type UpdateDnsRequest struct {
	Node   string `url:"node",json:"node"`     // The cluster node name.
	Search string `url:"search",json:"search"` // Search domain for host-name lookup.

	// The following parameters are optional
	Dns1 *string `url:"dns1,omitempty",json:"dns1,omitempty"` // First name server IP address.
	Dns2 *string `url:"dns2,omitempty",json:"dns2,omitempty"` // Second name server IP address.
	Dns3 *string `url:"dns3,omitempty",json:"dns3,omitempty"` // Third name server IP address.
}

type UpdateDnsResponse

type UpdateDnsResponse map[string]interface{}

type UpdateSubscriptionRequest

type UpdateSubscriptionRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

	// The following parameters are optional
	Force *bool `url:"force,omitempty",json:"force,omitempty"` // Always connect to server, even if we have up to date info inside local cache.
}

type UpdateSubscriptionResponse

type UpdateSubscriptionResponse map[string]interface{}

type VersionRequest

type VersionRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

}

type VersionResponse

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

}

type VncshellRequest

type VncshellRequest struct {
	Node string `url:"node",json:"node"` // The cluster node name.

	// The following parameters are optional
	Cmd       *string `url:"cmd,omitempty",json:"cmd,omitempty"`             // Run specific command or default to login.
	CmdOpts   *string `url:"cmd-opts,omitempty",json:"cmd-opts,omitempty"`   // Add parameters to a command. Encoded as null terminated strings.
	Height    *int    `url:"height,omitempty",json:"height,omitempty"`       // sets the height of the console in pixels.
	Websocket *bool   `url:"websocket,omitempty",json:"websocket,omitempty"` // use websocket instead of standard vnc.
	Width     *int    `url:"width,omitempty",json:"width,omitempty"`         // sets the width of the console in pixels.
}

type VncshellResponse

type VncshellResponse struct {
	Cert   string `url:"cert",json:"cert"`
	Port   int    `url:"port",json:"port"`
	Ticket string `url:"ticket",json:"ticket"`
	Upid   string `url:"upid",json:"upid"`
	User   string `url:"user",json:"user"`
}

type VncwebsocketRequest

type VncwebsocketRequest struct {
	Node      string `url:"node",json:"node"`           // The cluster node name.
	Port      int    `url:"port",json:"port"`           // Port number returned by previous vncproxy call.
	Vncticket string `url:"vncticket",json:"vncticket"` // Ticket from previous call to vncproxy.

}

type VncwebsocketResponse

type VncwebsocketResponse struct {
	Port string `url:"port",json:"port"`
}

type WakeonlanRequest

type WakeonlanRequest struct {
	Node string `url:"node",json:"node"` // target node for wake on LAN packet

}

type WakeonlanResponse

type WakeonlanResponse string

type WriteEtcHostsRequest

type WriteEtcHostsRequest struct {
	Data string `url:"data",json:"data"` // The target content of /etc/hosts.
	Node string `url:"node",json:"node"` // The cluster node name.

	// The following parameters are optional
	Digest *string `url:"digest,omitempty",json:"digest,omitempty"` // Prevent changes if current configuration file has different SHA1 digest. This can be used to prevent concurrent modifications.
}

type WriteEtcHostsResponse

type WriteEtcHostsResponse map[string]interface{}

Jump to

Keyboard shortcuts

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