Documentation
¶
Index ¶
- type CertificateDeleteRequestBody
- type CertificateListResponseBody
- type CertificateListResponseData
- type CertificateUpdateRequestBody
- type Client
- func (c *Client) APT() *apt.Client
- func (c *Client) Container(vmID int) *containers.Client
- func (c *Client) CreateNetworkInterface(ctx context.Context, d *NetworkInterfaceCreateUpdateRequestBody) error
- func (c *Client) DeleteCertificate(ctx context.Context, d *CertificateDeleteRequestBody) error
- func (c *Client) DeleteNetworkInterface(ctx context.Context, iface string) error
- func (c *Client) ExpandPath(path string) string
- func (c *Client) GetDNS(ctx context.Context) (*DNSGetResponseData, error)
- func (c *Client) GetHosts(ctx context.Context) (*HostsGetResponseData, error)
- func (c *Client) GetInfo(ctx context.Context) (*GetInfoResponseData, error)
- func (c *Client) GetQueryURLMetadata(ctx context.Context, d *QueryURLMetadataGetRequestBody) (*QueryURLMetadataGetResponseData, error)
- func (c *Client) GetTime(ctx context.Context) (*GetTimeResponseData, error)
- func (c *Client) ListCertificates(ctx context.Context) (*[]CertificateListResponseData, error)
- func (c *Client) ListNetworkInterfaces(ctx context.Context) ([]*NetworkInterfaceListResponseData, error)
- func (c *Client) ListNodes(ctx context.Context) ([]*ListResponseData, error)
- func (c *Client) ReloadNetworkConfiguration(ctx context.Context) error
- func (c *Client) RevertNetworkConfiguration(ctx context.Context) error
- func (c *Client) Storage(storageName string) *storage.Client
- func (c *Client) Tasks() *tasks.Client
- func (c *Client) UpdateCertificate(ctx context.Context, d *CertificateUpdateRequestBody) error
- func (c *Client) UpdateDNS(ctx context.Context, d *DNSUpdateRequestBody) error
- func (c *Client) UpdateHosts(ctx context.Context, d *HostsUpdateRequestBody) error
- func (c *Client) UpdateNetworkInterface(ctx context.Context, iface string, d *NetworkInterfaceCreateUpdateRequestBody) error
- func (c *Client) UpdateTime(ctx context.Context, d *UpdateTimeRequestBody) error
- func (c *Client) VM(vmID int) *vms.Client
- type CustomCommands
- type DNSGetResponseBody
- type DNSGetResponseData
- type DNSUpdateRequestBody
- type ExecuteRequestBody
- type GetInfoResponseBody
- type GetInfoResponseData
- type GetTimeResponseBody
- type GetTimeResponseData
- type HostsGetResponseBody
- type HostsGetResponseData
- type HostsUpdateRequestBody
- type ListResponseBody
- type ListResponseData
- type NetworkInterfaceCreateUpdateRequestBody
- type NetworkInterfaceListResponseBody
- type NetworkInterfaceListResponseData
- type QueryURLMetadataGetRequestBody
- type QueryURLMetadataGetResponseBody
- type QueryURLMetadataGetResponseData
- type ReloadNetworkResponseBody
- type UpdateTimeRequestBody
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CertificateDeleteRequestBody ¶
type CertificateDeleteRequestBody struct {
Restart *types.CustomBool `json:"restart,omitempty" url:"restart,omitempty,int"`
}
CertificateDeleteRequestBody contains the data for a custom certificate delete request.
type CertificateListResponseBody ¶
type CertificateListResponseBody struct {
Data *[]CertificateListResponseData `json:"data,omitempty"`
}
CertificateListResponseBody contains the body from a certificate list response.
type CertificateListResponseData ¶
type CertificateListResponseData struct {
Certificates *string `json:"pem,omitempty"`
FileName *string `json:"filename,omitempty"`
Fingerprint *string `json:"fingerprint,omitempty"`
Issuer *string `json:"issuer,omitempty"`
NotAfter *types.CustomTimestamp `json:"notafter,omitempty"`
NotBefore *types.CustomTimestamp `json:"notbefore,omitempty"`
PublicKeyBits *int `json:"public-key-bits,omitempty"`
PublicKeyType *string `json:"public-key-type,omitempty"`
Subject *string `json:"subject,omitempty"`
SubjectAlternativeNames *[]string `json:"san,omitempty"`
}
CertificateListResponseData contains the data from a certificate list response.
type CertificateUpdateRequestBody ¶
type CertificateUpdateRequestBody struct {
Certificates string `json:"certificates" url:"certificates"`
Force *types.CustomBool `json:"force,omitempty" url:"force,omitempty,int"`
PrivateKey *string `json:"key,omitempty" url:"key,omitempty"`
Restart *types.CustomBool `json:"restart,omitempty" url:"restart,omitempty,int"`
}
CertificateUpdateRequestBody contains the body for a custom certificate update request.
type Client ¶
Client is an interface for accessing the Proxmox node API.
func (*Client) Container ¶
func (c *Client) Container(vmID int) *containers.Client
Container returns a client for managing a specific container.
func (*Client) CreateNetworkInterface ¶
func (c *Client) CreateNetworkInterface(ctx context.Context, d *NetworkInterfaceCreateUpdateRequestBody) error
CreateNetworkInterface creates a network interface for a specific node.
func (*Client) DeleteCertificate ¶
func (c *Client) DeleteCertificate(ctx context.Context, d *CertificateDeleteRequestBody) error
DeleteCertificate deletes the custom certificate for a node.
func (*Client) DeleteNetworkInterface ¶
DeleteNetworkInterface deletes a network interface configuration for a specific node.
func (*Client) ExpandPath ¶
ExpandPath expands a relative path to a full node API path.
func (*Client) GetDNS ¶
func (c *Client) GetDNS(ctx context.Context) (*DNSGetResponseData, error)
GetDNS retrieves the DNS configuration for a node.
func (*Client) GetHosts ¶
func (c *Client) GetHosts(ctx context.Context) (*HostsGetResponseData, error)
GetHosts retrieves the Hosts configuration for a node.
func (*Client) GetInfo ¶
func (c *Client) GetInfo(ctx context.Context) (*GetInfoResponseData, error)
GetInfo retrieves the information of the node.
func (*Client) GetQueryURLMetadata ¶
func (c *Client) GetQueryURLMetadata( ctx context.Context, d *QueryURLMetadataGetRequestBody, ) (*QueryURLMetadataGetResponseData, error)
GetQueryURLMetadata retrieves the URL filename details for a node.
func (*Client) GetTime ¶
func (c *Client) GetTime(ctx context.Context) (*GetTimeResponseData, error)
GetTime retrieves the time information for a node.
func (*Client) ListCertificates ¶
func (c *Client) ListCertificates(ctx context.Context) (*[]CertificateListResponseData, error)
ListCertificates retrieves the list of certificates for a node.
func (*Client) ListNetworkInterfaces ¶
func (c *Client) ListNetworkInterfaces(ctx context.Context) ([]*NetworkInterfaceListResponseData, error)
ListNetworkInterfaces retrieves a list of network interfaces for a specific nodes.
func (*Client) ListNodes ¶
func (c *Client) ListNodes(ctx context.Context) ([]*ListResponseData, error)
ListNodes retrieves a list of nodes.
func (*Client) ReloadNetworkConfiguration ¶
ReloadNetworkConfiguration reloads the network configuration for a specific node.
func (*Client) RevertNetworkConfiguration ¶
RevertNetworkConfiguration reverts the network configuration changes for a specific node.
func (*Client) UpdateCertificate ¶
func (c *Client) UpdateCertificate(ctx context.Context, d *CertificateUpdateRequestBody) error
UpdateCertificate updates the custom certificate for a node.
func (*Client) UpdateDNS ¶
func (c *Client) UpdateDNS(ctx context.Context, d *DNSUpdateRequestBody) error
UpdateDNS updates the DNS configuration for a node.
func (*Client) UpdateHosts ¶
func (c *Client) UpdateHosts(ctx context.Context, d *HostsUpdateRequestBody) error
UpdateHosts updates the Hosts configuration for a node.
func (*Client) UpdateNetworkInterface ¶
func (c *Client) UpdateNetworkInterface( ctx context.Context, iface string, d *NetworkInterfaceCreateUpdateRequestBody, ) error
UpdateNetworkInterface updates a network interface for a specific node.
func (*Client) UpdateTime ¶
func (c *Client) UpdateTime(ctx context.Context, d *UpdateTimeRequestBody) error
UpdateTime updates the time on a node.
type CustomCommands ¶
type CustomCommands []string
CustomCommands contains an array of commands to execute.
func (CustomCommands) EncodeValues ¶
func (r CustomCommands) EncodeValues(key string, v *url.Values) error
EncodeValues converts a CustomCommands array to a JSON encoded URL value.
type DNSGetResponseBody ¶
type DNSGetResponseBody struct {
Data *DNSGetResponseData `json:"data,omitempty"`
}
DNSGetResponseBody contains the body from a DNS get response.
type DNSGetResponseData ¶
type DNSGetResponseData struct {
Server1 *string `json:"dns1,omitempty" url:"dns1,omitempty"`
Server2 *string `json:"dns2,omitempty" url:"dns2,omitempty"`
Server3 *string `json:"dns3,omitempty" url:"dns3,omitempty"`
SearchDomain *string `json:"search,omitempty" url:"search,omitempty"`
}
DNSGetResponseData contains the data from a DNS get response.
type DNSUpdateRequestBody ¶
type DNSUpdateRequestBody struct {
Server1 *string `json:"dns1,omitempty" url:"dns1,omitempty"`
Server2 *string `json:"dns2,omitempty" url:"dns2,omitempty"`
Server3 *string `json:"dns3,omitempty" url:"dns3,omitempty"`
SearchDomain *string `json:"search,omitempty" url:"search,omitempty"`
}
DNSUpdateRequestBody contains the body for a DNS update request.
type ExecuteRequestBody ¶
type ExecuteRequestBody struct {
Commands CustomCommands `json:"commands" url:"commands"`
}
ExecuteRequestBody contains the data for a node execute request.
type GetInfoResponseBody ¶
type GetInfoResponseBody struct {
Data *GetInfoResponseData `json:"data,omitempty"`
}
GetInfoResponseBody contains the body from a node info get response.
type GetInfoResponseData ¶
type GetInfoResponseData struct {
CPUInfo struct {
CPUCores *int `json:"cores,omitempty"`
CPUSockets *int `json:"sockets,omitempty"`
CPUModel *string `json:"model"`
} `json:"cpuinfo"`
MemoryInfo struct {
Free *int `json:"free,omitempty"`
Used *int `json:"used,omitempty"`
Total *int `json:"total,omitempty"`
} `json:"memory"`
Uptime *int `json:"uptime"`
}
GetInfoResponseData contains the data from a node info response.
type GetTimeResponseBody ¶
type GetTimeResponseBody struct {
Data *GetTimeResponseData `json:"data,omitempty"`
}
GetTimeResponseBody contains the body from a node time zone get response.
type GetTimeResponseData ¶
type GetTimeResponseData struct {
LocalTime types.CustomTimestamp `json:"localtime"`
TimeZone string `json:"timezone"`
UTCTime types.CustomTimestamp `json:"time"`
}
GetTimeResponseData contains the data from a node list response.
type HostsGetResponseBody ¶
type HostsGetResponseBody struct {
Data *HostsGetResponseData `json:"data,omitempty"`
}
HostsGetResponseBody contains the body from a hosts get response.
type HostsGetResponseData ¶
type HostsGetResponseData struct {
Data string `json:"data"`
Digest *string `json:"digest,omitempty"`
}
HostsGetResponseData contains the data from a hosts get response.
type HostsUpdateRequestBody ¶
type HostsUpdateRequestBody struct {
Data string `json:"data" url:"data"`
Digest *string `json:"digest,omitempty" url:"digest,omitempty"`
}
HostsUpdateRequestBody contains the body for a hosts update request.
type ListResponseBody ¶
type ListResponseBody struct {
Data []*ListResponseData `json:"data,omitempty"`
}
ListResponseBody contains the body from a node list response.
type ListResponseData ¶
type ListResponseData struct {
CPUCount *int `json:"maxcpu,omitempty"`
CPUUtilization *float64 `json:"cpu,omitempty"`
MemoryAvailable *int `json:"maxmem,omitempty"`
MemoryUsed *int `json:"mem,omitempty"`
Name string `json:"node"`
SSLFingerprint *string `json:"ssl_fingerprint,omitempty"`
Status *string `json:"status"`
SupportLevel *string `json:"level,omitempty"`
Uptime *int `json:"uptime"`
}
ListResponseData contains the data from a node list response.
type NetworkInterfaceCreateUpdateRequestBody ¶
type NetworkInterfaceCreateUpdateRequestBody struct {
Iface string `json:"iface" url:"iface"`
Type string `json:"type" url:"type"`
Address *string `json:"address,omitempty" url:"address,omitempty"`
Address6 *string `json:"address6,omitempty" url:"address6,omitempty"`
Autostart *types.CustomBool `json:"autostart,omitempty" url:"autostart,omitempty,int"`
BondPrimary *string `json:"bond-primary,omitempty" url:"bond-primary,omitempty"`
BondMode *string `json:"bond_mode,omitempty" url:"bond_mode,omitempty"`
BondXmitHashPolicy *string `json:"bond_xmit_hash_policy,omitempty" url:"bond_xmit_hash_policy,omitempty"`
BridgePorts *string `json:"bridge_ports,omitempty" url:"bridge_ports,omitempty"`
BridgeVLANAware *types.CustomBool `json:"bridge_vlan_aware,omitempty" url:"bridge_vlan_aware,omitempty,int"`
CIDR *string `json:"cidr,omitempty" url:"cidr,omitempty"`
CIDR6 *string `json:"cidr6,omitempty" url:"cidr6,omitempty"`
Comments *string `json:"comments,omitempty" url:"comments,omitempty"`
Comments6 *string `json:"comments6,omitempty" url:"comments6,omitempty"`
Gateway *string `json:"gateway,omitempty" url:"gateway,omitempty"`
Gateway6 *string `json:"gateway6,omitempty" url:"gateway6,omitempty"`
Delete *[]string `json:"delete,omitempty" url:"delete,omitempty"`
MTU *int64 `json:"mtu,omitempty" url:"mtu,omitempty"`
Netmask *string `json:"netmask,omitempty" url:"netmask,omitempty"`
Netmask6 *string `json:"netmask6,omitempty" url:"netmask6,omitempty"`
OVSBonds *string `json:"ovs_bonds,omitempty" url:"ovs_bonds,omitempty"`
OVSBridge *string `json:"ovs_bridge,omitempty" url:"ovs_bridge,omitempty"`
OVSOptions *string `json:"ovs_options,omitempty" url:"ovs_options,omitempty"`
OVSPorts *string `json:"ovs_ports,omitempty" url:"ovs_ports,omitempty"`
OVSTag *string `json:"ovs_tag,omitempty" url:"ovs_tag,omitempty"`
Slaves *string `json:"slaves,omitempty" url:"slaves,omitempty"`
VLANID *int64 `json:"vlan-id,omitempty" url:"vlan-id,omitempty"`
VLANRawDevice *string `json:"vlan-raw-device,omitempty" url:"vlan-raw-device,omitempty"`
}
NetworkInterfaceCreateUpdateRequestBody contains the body for a node network interface create / update request.
type NetworkInterfaceListResponseBody ¶
type NetworkInterfaceListResponseBody struct {
Data []*NetworkInterfaceListResponseData `json:"data,omitempty"`
}
NetworkInterfaceListResponseBody contains the body from a node network interface list response.
type NetworkInterfaceListResponseData ¶
type NetworkInterfaceListResponseData struct {
Active *types.CustomBool `json:"active,omitempty"`
Address *string `json:"address,omitempty"`
Address6 *string `json:"address6,omitempty"`
Autostart *types.CustomBool `json:"autostart,omitempty"`
BridgePorts *string `json:"bridge_ports,omitempty"`
BridgeSTP *string `json:"bridge_stp,omitempty"`
BridgeVIDs *string `json:"bridge_vids,omitempty"`
BridgeVLANAware *types.CustomBool `json:"bridge_vlan_aware,omitempty"`
CIDR *string `json:"cidr,omitempty"`
CIDR6 *string `json:"cidr6,omitempty"`
Comments *string `json:"comments,omitempty"`
Exists *types.CustomBool `json:"exists,omitempty"`
Families *[]string `json:"families,omitempty"`
Gateway *string `json:"gateway,omitempty"`
Gateway6 *string `json:"gateway6,omitempty"`
Iface string `json:"iface"`
MethodIPv4 *string `json:"method,omitempty"`
MethodIPv6 *string `json:"method6,omitempty"`
MTU *string `json:"mtu,omitempty"`
Netmask *string `json:"netmask,omitempty"`
VLANID *string `json:"vlan-id,omitempty"`
VLANRawDevice *string `json:"vlan-raw-device,omitempty"`
Priority int `json:"priority"`
Type string `json:"type"`
}
NetworkInterfaceListResponseData contains the data from a node network interface list response.
type QueryURLMetadataGetRequestBody ¶
type QueryURLMetadataGetRequestBody struct {
Verify *types.CustomBool `json:"verify-certificates,omitempty" url:"verify-certificates,omitempty,int"`
URL *string `json:"url,omitempty" url:"url,omitempty"`
}
QueryURLMetadataGetRequestBody contains the body for a QueryURLMetadata get request.
type QueryURLMetadataGetResponseBody ¶
type QueryURLMetadataGetResponseBody struct {
Data *QueryURLMetadataGetResponseData `json:"data,omitempty"`
}
QueryURLMetadataGetResponseBody contains the body from a QueryURLMetadata get response.
type QueryURLMetadataGetResponseData ¶
type QueryURLMetadataGetResponseData struct {
Filename *string `json:"filename,omitempty" url:"filename,omitempty"`
Mimetype *string `json:"mimetype,omitempty" url:"mimetype,omitempty"`
Size *int64 `json:"size,omitempty" url:"size,omitempty"`
}
QueryURLMetadataGetResponseData contains the data from a QueryURLMetadata get response.
type ReloadNetworkResponseBody ¶
type ReloadNetworkResponseBody struct {
Data *string `json:"data,omitempty"`
}
ReloadNetworkResponseBody contains the body from a node network reload response.
type UpdateTimeRequestBody ¶
type UpdateTimeRequestBody struct {
TimeZone string `json:"timezone" url:"timezone"`
}
UpdateTimeRequestBody contains the body for a node time update request.