Documentation
¶
Index ¶
- type Client
- func (c *Client) CloneContainer(ctx context.Context, d *CloneRequestBody) error
- func (c *Client) CreateContainer(ctx context.Context, d *CreateRequestBody) error
- func (c *Client) CreateContainerAsync(ctx context.Context, d *CreateRequestBody) (*string, error)
- func (c *Client) DeleteContainer(ctx context.Context) error
- func (c *Client) ExpandPath(path string) string
- func (c *Client) Firewall() firewall.API
- func (c *Client) GetContainer(ctx context.Context) (*GetResponseData, error)
- func (c *Client) GetContainerStatus(ctx context.Context) (*GetStatusResponseData, error)
- func (c *Client) RebootContainer(ctx context.Context, d *RebootRequestBody) error
- func (c *Client) ShutdownContainer(ctx context.Context, d *ShutdownRequestBody) error
- func (c *Client) StartContainer(ctx context.Context) error
- func (c *Client) StartContainerAsync(ctx context.Context) (*string, error)
- func (c *Client) StopContainer(ctx context.Context) error
- func (c *Client) Tasks() *tasks.Client
- func (c *Client) UpdateContainer(ctx context.Context, d *UpdateRequestBody) error
- func (c *Client) WaitForContainerConfigUnlock(ctx context.Context, ignoreErrorResponse bool) error
- func (c *Client) WaitForContainerStatus(ctx context.Context, status string) error
- type CloneRequestBody
- type CreateRequestBody
- type CreateResponseBody
- type CustomFeatures
- type CustomMountPoint
- type CustomMountPointArray
- type CustomNetworkInterface
- type CustomNetworkInterfaceArray
- type CustomRootFS
- type CustomSSHKeys
- type CustomStartupBehavior
- type GetResponseBody
- type GetResponseData
- type GetStatusResponseBody
- type GetStatusResponseData
- type RebootRequestBody
- type ShutdownRequestBody
- type StartResponseBody
- type UpdateRequestBody
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
Client is an interface for accessing the Proxmox container API.
func (*Client) CloneContainer ¶
func (c *Client) CloneContainer(ctx context.Context, d *CloneRequestBody) error
CloneContainer clones a container.
func (*Client) CreateContainer ¶
func (c *Client) CreateContainer(ctx context.Context, d *CreateRequestBody) error
CreateContainer creates a container.
func (*Client) CreateContainerAsync ¶
CreateContainerAsync creates a container asynchronously.
func (*Client) DeleteContainer ¶
DeleteContainer deletes a container.
func (*Client) ExpandPath ¶
ExpandPath expands a relative path to a full container API path.
func (*Client) GetContainer ¶
func (c *Client) GetContainer(ctx context.Context) (*GetResponseData, error)
GetContainer retrieves a container.
func (*Client) GetContainerStatus ¶
func (c *Client) GetContainerStatus(ctx context.Context) (*GetStatusResponseData, error)
GetContainerStatus retrieves the status for a container.
func (*Client) RebootContainer ¶
func (c *Client) RebootContainer(ctx context.Context, d *RebootRequestBody) error
RebootContainer reboots a container.
func (*Client) ShutdownContainer ¶
func (c *Client) ShutdownContainer(ctx context.Context, d *ShutdownRequestBody) error
ShutdownContainer shuts down a container.
func (*Client) StartContainer ¶
StartContainer starts a container if is not already running.
func (*Client) StartContainerAsync ¶
StartContainerAsync starts a container asynchronously.
func (*Client) StopContainer ¶
StopContainer stops a container immediately.
func (*Client) UpdateContainer ¶
func (c *Client) UpdateContainer(ctx context.Context, d *UpdateRequestBody) error
UpdateContainer updates a container.
func (*Client) WaitForContainerConfigUnlock ¶
WaitForContainerConfigUnlock waits for a container lock to be released.
type CloneRequestBody ¶
type CloneRequestBody struct {
BandwidthLimit *int `json:"bwlimit,omitempty" url:"bwlimit,omitempty"`
Description *string `json:"description,omitempty" url:"description,omitempty"`
FullCopy *types.CustomBool `json:"full,omitempty" url:"full,omitempty,int"`
Hostname *string `json:"hostname,omitempty" url:"hostname,omitempty"`
PoolID *string `json:"pool,omitempty" url:"pool,omitempty"`
SnapshotName *string `json:"snapname,omitempty" url:"snapname,omitempty"`
TargetNodeName *string `json:"target,omitempty" url:"target,omitempty"`
TargetStorage *string `json:"storage,omitempty" url:"storage,omitempty"`
VMIDNew int `json:"newid" url:"newid"`
}
CloneRequestBody contains the data for an container clone request.
type CreateRequestBody ¶
type CreateRequestBody struct {
BandwidthLimit *float64 `json:"bwlimit,omitempty" url:"bwlimit,omitempty"`
ConsoleEnabled *types.CustomBool `json:"console,omitempty" url:"console,omitempty,int"`
ConsoleMode *string `json:"cmode,omitempty" url:"cmode,omitempty"`
CPUArchitecture *string `json:"arch,omitempty" url:"arch,omitempty"`
CPUCores *int `json:"cores,omitempty" url:"cores,omitempty"`
CPULimit *int `json:"cpulimit,omitempty" url:"cpulimit,omitempty"`
CPUUnits *int `json:"cpuunits,omitempty" url:"cpuunits,omitempty"`
DatastoreID *string `json:"storage,omitempty" url:"storage,omitempty"`
DedicatedMemory *int `json:"memory,omitempty" url:"memory,omitempty"`
Delete []string `json:"delete,omitempty" url:"delete,omitempty"`
Description *string `json:"description,omitempty" url:"description,omitempty"`
DNSDomain *string `json:"searchdomain,omitempty" url:"searchdomain,omitempty"`
DNSServer *string `json:"nameserver,omitempty" url:"nameserver,omitempty"`
Features *CustomFeatures `json:"features,omitempty" url:"features,omitempty"`
Force *types.CustomBool `json:"force,omitempty" url:"force,omitempty,int"`
HookScript *string `json:"hookscript,omitempty" url:"hookscript,omitempty"`
Hostname *string `json:"hostname,omitempty" url:"hostname,omitempty"`
IgnoreUnpackErrors *types.CustomBool `json:"ignore-unpack-errors,omitempty" url:"force,omitempty,int"`
Lock *string `json:"lock,omitempty" url:"lock,omitempty,int"`
MountPoints CustomMountPointArray `json:"mp,omitempty" url:"mp,omitempty,numbered"`
NetworkInterfaces CustomNetworkInterfaceArray `json:"net,omitempty" url:"net,omitempty,numbered"`
OSTemplateFileVolume *string `json:"ostemplate,omitempty" url:"ostemplate,omitempty"`
OSType *string `json:"ostype,omitempty" url:"ostype,omitempty"`
Password *string `json:"password,omitempty" url:"password,omitempty"`
PoolID *string `json:"pool,omitempty" url:"pool,omitempty"`
Protection *types.CustomBool `json:"protection,omitempty" url:"protection,omitempty,int"`
Restore *types.CustomBool `json:"restore,omitempty" url:"restore,omitempty,int"`
RootFS *CustomRootFS `json:"rootfs,omitempty" url:"rootfs,omitempty"`
SSHKeys *CustomSSHKeys `json:"ssh-public-keys,omitempty" url:"ssh-public-keys,omitempty"`
Start *types.CustomBool `json:"start,omitempty" url:"start,omitempty,int"`
StartOnBoot *types.CustomBool `json:"onboot,omitempty" url:"onboot,omitempty,int"`
StartupBehavior *CustomStartupBehavior `json:"startup,omitempty" url:"startup,omitempty"`
Swap *int `json:"swap,omitempty" url:"swap,omitempty"`
Tags *string `json:"tags,omitempty" url:"tags,omitempty"`
Template *types.CustomBool `json:"template,omitempty" url:"template,omitempty,int"`
TTY *int `json:"tty,omitempty" url:"tty,omitempty"`
Unique *types.CustomBool `json:"unique,omitempty" url:"unique,omitempty,int"`
Unprivileged *types.CustomBool `json:"unprivileged,omitempty" url:"unprivileged,omitempty,int"`
VMID *int `json:"vmid,omitempty" url:"vmid,omitempty"`
}
CreateRequestBody contains the data for a user create request.
type CreateResponseBody ¶
type CreateResponseBody struct {
Data *string `json:"data,omitempty"`
}
CreateResponseBody contains the body from a container create response.
type CustomFeatures ¶
type CustomFeatures struct {
FUSE *types.CustomBool `json:"fuse,omitempty" url:"fuse,omitempty,int"`
KeyControl *types.CustomBool `json:"keyctl,omitempty" url:"keyctl,omitempty,int"`
MountTypes *[]string `json:"mount,omitempty" url:"mount,omitempty"`
Nesting *types.CustomBool `json:"nesting,omitempty" url:"nesting,omitempty,int"`
}
CustomFeatures contains the values for the "features" property.
func (*CustomFeatures) EncodeValues ¶
func (r *CustomFeatures) EncodeValues(key string, v *url.Values) error
EncodeValues converts a ContainerCustomFeatures struct to a URL value.
func (*CustomFeatures) UnmarshalJSON ¶
func (r *CustomFeatures) UnmarshalJSON(b []byte) error
UnmarshalJSON converts a ContainerCustomFeatures string to an object.
type CustomMountPoint ¶
type CustomMountPoint struct {
ACL *types.CustomBool `json:"acl,omitempty" url:"acl,omitempty,int"`
Backup *types.CustomBool `json:"backup,omitempty" url:"backup,omitempty,int"`
DiskSize *string `json:"size,omitempty" url:"size,omitempty"` // read-only
Enabled bool `json:"-" url:"-"`
MountOptions *[]string `json:"mountoptions,omitempty" url:"mountoptions,omitempty"`
MountPoint string `json:"mp" url:"mp"`
Quota *types.CustomBool `json:"quota,omitempty" url:"quota,omitempty,int"`
ReadOnly *types.CustomBool `json:"ro,omitempty" url:"ro,omitempty,int"`
Replicate *types.CustomBool `json:"replicate,omitempty" url:"replicate,omitempty,int"`
Volume string `json:"volume" url:"volume"`
}
CustomMountPoint contains the values for the "mp[n]" properties.
func (*CustomMountPoint) EncodeValues ¶
func (r *CustomMountPoint) EncodeValues(key string, v *url.Values) error
EncodeValues converts a CustomMountPoint struct to a URL value.
func (*CustomMountPoint) UnmarshalJSON ¶
func (r *CustomMountPoint) UnmarshalJSON(b []byte) error
UnmarshalJSON converts a CustomMountPoint string to an object.
type CustomMountPointArray ¶
type CustomMountPointArray []CustomMountPoint
CustomMountPointArray is an array of CustomMountPoint.
func (CustomMountPointArray) EncodeValues ¶
func (r CustomMountPointArray) EncodeValues( key string, v *url.Values, ) error
EncodeValues converts a CustomMountPointArray array to multiple URL values.
type CustomNetworkInterface ¶
type CustomNetworkInterface struct {
Bridge *string `json:"bridge,omitempty" url:"bridge,omitempty"`
Enabled bool `json:"-" url:"-"`
Firewall *types.CustomBool `json:"firewall,omitempty" url:"firewall,omitempty,int"`
IPv4Address *string `json:"ip,omitempty" url:"ip,omitempty"`
IPv4Gateway *string `json:"gw,omitempty" url:"gw,omitempty"`
IPv6Address *string `json:"ip6,omitempty" url:"ip6,omitempty"`
IPv6Gateway *string `json:"gw6,omitempty" url:"gw6,omitempty"`
MACAddress *string `json:"hwaddr,omitempty" url:"hwaddr,omitempty"`
MTU *int `json:"mtu,omitempty" url:"mtu,omitempty"`
Name string `json:"name" url:"name"`
RateLimit *float64 `json:"rate,omitempty" url:"rate,omitempty"`
Tag *int `json:"tag,omitempty" url:"tag,omitempty"`
Trunks *[]int `json:"trunks,omitempty" url:"trunks,omitempty"`
Type *string `json:"type,omitempty" url:"type,omitempty"`
}
CustomNetworkInterface contains the values for the "net[n]" properties.
func (*CustomNetworkInterface) EncodeValues ¶
func (r *CustomNetworkInterface) EncodeValues( key string, v *url.Values, ) error
EncodeValues converts a CustomNetworkInterface struct to a URL value.
func (*CustomNetworkInterface) UnmarshalJSON ¶
func (r *CustomNetworkInterface) UnmarshalJSON(b []byte) error
UnmarshalJSON converts a CustomNetworkInterface string to an object.
type CustomNetworkInterfaceArray ¶
type CustomNetworkInterfaceArray []CustomNetworkInterface
CustomNetworkInterfaceArray is an array of CustomNetworkInterface.
func (CustomNetworkInterfaceArray) EncodeValues ¶
func (r CustomNetworkInterfaceArray) EncodeValues( key string, v *url.Values, ) error
EncodeValues converts a CustomNetworkInterfaceArray array to multiple URL values.
type CustomRootFS ¶
type CustomRootFS struct {
ACL *types.CustomBool `json:"acl,omitempty" url:"acl,omitempty,int"`
Size *types.DiskSize `json:"size,omitempty" url:"size,omitempty"`
MountOptions *[]string `json:"mountoptions,omitempty" url:"mountoptions,omitempty"`
Quota *types.CustomBool `json:"quota,omitempty" url:"quota,omitempty,int"`
ReadOnly *types.CustomBool `json:"ro,omitempty" url:"ro,omitempty,int"`
Replicate *types.CustomBool `json:"replicate,omitempty" url:"replicate,omitempty,int"`
Volume string `json:"volume" url:"volume"`
}
CustomRootFS contains the values for the "rootfs" property.
func (*CustomRootFS) EncodeValues ¶
func (r *CustomRootFS) EncodeValues(key string, v *url.Values) error
EncodeValues converts a CustomRootFS struct to a URL value.
func (*CustomRootFS) UnmarshalJSON ¶
func (r *CustomRootFS) UnmarshalJSON(b []byte) error
UnmarshalJSON converts a CustomRootFS string to an object.
type CustomSSHKeys ¶
type CustomSSHKeys []string
CustomSSHKeys contains the values for the "ssh-public-keys" property.
func (CustomSSHKeys) EncodeValues ¶
func (r CustomSSHKeys) EncodeValues(key string, v *url.Values) error
EncodeValues converts a CustomSSHKeys array to a URL value.
type CustomStartupBehavior ¶
type CustomStartupBehavior struct {
Down *int `json:"down,omitempty" url:"down,omitempty"`
Order *int `json:"order,omitempty" url:"order,omitempty"`
Up *int `json:"up,omitempty" url:"up,omitempty"`
}
CustomStartupBehavior contains the values for the "startup" property.
func (*CustomStartupBehavior) EncodeValues ¶
func (r *CustomStartupBehavior) EncodeValues( key string, v *url.Values, ) error
EncodeValues converts a CustomStartupBehavior struct to a URL value.
func (*CustomStartupBehavior) UnmarshalJSON ¶
func (r *CustomStartupBehavior) UnmarshalJSON(b []byte) error
UnmarshalJSON converts a CustomStartupBehavior string to an object.
type GetResponseBody ¶
type GetResponseBody struct {
Data *GetResponseData `json:"data,omitempty"`
}
GetResponseBody contains the body from a user get response.
type GetResponseData ¶
type GetResponseData struct {
ConsoleEnabled *types.CustomBool `json:"console,omitempty"`
ConsoleMode *string `json:"cmode,omitempty"`
CPUArchitecture *string `json:"arch,omitempty"`
CPUCores *int `json:"cores,omitempty"`
CPULimit *types.CustomInt `json:"cpulimit,omitempty"`
CPUUnits *int `json:"cpuunits,omitempty"`
DedicatedMemory *int `json:"memory,omitempty"`
Description *string `json:"description,omitempty"`
Digest string `json:"digest"`
DNSDomain *string `json:"searchdomain,omitempty"`
DNSServer *string `json:"nameserver,omitempty"`
Features *CustomFeatures `json:"features,omitempty"`
HookScript *string `json:"hookscript,omitempty"`
Hostname *string `json:"hostname,omitempty"`
Lock *types.CustomBool `json:"lock,omitempty"`
LXCConfiguration *[][2]string `json:"lxc,omitempty"`
MountPoint0 *CustomMountPoint `json:"mp0,omitempty"`
MountPoint1 *CustomMountPoint `json:"mp1,omitempty"`
MountPoint2 *CustomMountPoint `json:"mp2,omitempty"`
MountPoint3 *CustomMountPoint `json:"mp3,omitempty"`
MountPoint4 *CustomMountPoint `json:"mp4,omitempty"`
MountPoint5 *CustomMountPoint `json:"mp5,omitempty"`
MountPoint6 *CustomMountPoint `json:"mp6,omitempty"`
MountPoint7 *CustomMountPoint `json:"mp7,omitempty"`
NetworkInterface0 *CustomNetworkInterface `json:"net0,omitempty"`
NetworkInterface1 *CustomNetworkInterface `json:"net1,omitempty"`
NetworkInterface2 *CustomNetworkInterface `json:"net2,omitempty"`
NetworkInterface3 *CustomNetworkInterface `json:"net3,omitempty"`
NetworkInterface4 *CustomNetworkInterface `json:"net4,omitempty"`
NetworkInterface5 *CustomNetworkInterface `json:"net5,omitempty"`
NetworkInterface6 *CustomNetworkInterface `json:"net6,omitempty"`
NetworkInterface7 *CustomNetworkInterface `json:"net7,omitempty"`
OSType *string `json:"ostype,omitempty"`
Protection *types.CustomBool `json:"protection,omitempty"`
RootFS *CustomRootFS `json:"rootfs,omitempty"`
StartOnBoot *types.CustomBool `json:"onboot,omitempty"`
StartupBehavior *CustomStartupBehavior `json:"startup,omitempty"`
Swap *int `json:"swap,omitempty"`
Tags *string `json:"tags,omitempty"`
Template *types.CustomBool `json:"template,omitempty"`
TTY *int `json:"tty,omitempty"`
Unprivileged *types.CustomBool `json:"unprivileged,omitempty"`
}
GetResponseData contains the data from a user get response.
type GetStatusResponseBody ¶
type GetStatusResponseBody struct {
Data *GetStatusResponseData `json:"data,omitempty"`
}
GetStatusResponseBody contains the body from a container get status response.
type GetStatusResponseData ¶
type GetStatusResponseData struct {
CPUCount *float64 `json:"cpus,omitempty"`
Lock *string `json:"lock,omitempty"`
MemoryAllocation *int `json:"maxmem,omitempty"`
Name *string `json:"name,omitempty"`
RootDiskSize *interface{} `json:"maxdisk,omitempty"`
Status string `json:"status,omitempty"`
SwapAllocation *int `json:"maxswap,omitempty"`
Tags *string `json:"tags,omitempty"`
Uptime *int `json:"uptime,omitempty"`
VMID *types.CustomInt `json:"vmid,omitempty"`
}
GetStatusResponseData contains the data from a container get status response.
type RebootRequestBody ¶
type RebootRequestBody struct {
Timeout *int `json:"timeout,omitempty" url:"timeout,omitempty"`
}
RebootRequestBody contains the body for a container reboot request.
type ShutdownRequestBody ¶
type ShutdownRequestBody struct {
ForceStop *types.CustomBool `json:"forceStop,omitempty" url:"forceStop,omitempty,int"`
Timeout *int `json:"timeout,omitempty" url:"timeout,omitempty"`
}
ShutdownRequestBody contains the body for a container shutdown request.
type StartResponseBody ¶
type StartResponseBody struct {
Data *string `json:"data,omitempty"`
}
StartResponseBody contains the body from a container start response.
type UpdateRequestBody ¶
type UpdateRequestBody CreateRequestBody
UpdateRequestBody contains the data for an user update request.