You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
5.0 KiB

package requests
import "time"
// ListTemplateRequest struct to get list of templates
type ListTemplateRequest struct {
// Find by partial name match. Ignored if NameExact is provided.
// Required: false
Name string `url:"name,omitempty" json:"name,omitempty"`
// Find by virtualization type. Possible values: "VM", "CT".
// Required: false
VirtType string `url:"virt_type,omitempty" json:"virt_type,omitempty" validate:"omitempty,virt_type"`
// Find by node identifier,.
// Required: false
Node int `url:"node,omitempty" json:"node,omitempty"`
// Filter templates by description.
// Required: false
Description string `url:"description,omitempty" json:"description,omitempty"`
// Filter by OS installation.
// Required: false
InstallOS interface{} `url:"install_os,omitempty" json:"install_os,omitempty" validate:"omitempty,is_bool"`
// Filter templates by CPU count.
// Required: false
CPUCount int `url:"cpu_count,omitempty" json:"cpu_count,omitempty"`
// Filter templates by external resource ID.
// Required: false
ExternalResourceID int `url:"external_resource_id,omitempty" json:"external_resource_id,omitempty"`
// Include external resource pools for filtering.
// Required: false
IncludeExternal bool `url:"include_external,omitempty" json:"include_external,omitempty"`
// Filter templates by CPU units (2-262144).
// Required: false
CPUUnits int `url:"cpu_units,omitempty" json:"cpu_units,omitempty" validate:"omitempty,cpu_units"`
// Filter templates by CPU limit (0-100) * number of cores on server.
// Required: false
CPULimit int `url:"cpu_limit,omitempty" json:"cpu_limit,omitempty" validate:"omitempty,cpu_limit"`
// Filter templates by RAM size in Megabytes.
// Required: false
RAMSize int `url:"ram_size,omitempty" json:"ram_size,omitempty"`
// Filter templates by video RAM size in Megabytes.
// Required: false
VideoRAMSize int `url:"video_ram_size,omitempty" json:"video_ram_size,omitempty"`
// Filter templates by Guest OS.
// Required: false
GuestOS string `url:"guest_os,omitempty" json:"guest_os,omitempty" validate:"omitempty,guest_os"`
// Filter templates by Guest OS version.
// Required: false
GuestOSVersion string `url:"guest_os_version,omitempty" json:"guest_os_version,omitempty" validate:"omitempty,guest_os_version"`
// Filter templates by location.
// Required: false
Location string `url:"location,omitempty" json:"location,omitempty"`
// Filter templates by lock status.
// Required: false
Lock interface{} `url:"lock,omitempty" json:"lock,omitempty" validate:"omitempty,is_bool"`
// Filter templates by status.
// Required: false
Status string `url:"status,omitempty" json:"status,omitempty" validate:"omitempty,template_status"`
// Filter templates by EFI usage.
// Required: false
EFIEnabled interface{} `url:"efi_enabled,omitempty" json:"efi_enabled,omitempty" validate:"omitempty,is_bool"`
// Filter templates by RAM hotplug enabled.
// Required: false
RamHotplugEnabled interface{} `url:"ram_hotplug_enabled,omitempty" json:"ram_hotplug_enabled,omitempty" validate:"omitempty,is_bool"`
// Set memory guarantee size as a percentage of VM RAM.
// Required: false
MemGuaranteeSize int `url:"mem_guarantee_size,omitempty" json:"mem_guarantee_size,omitempty" validate:"omitempty,mem_guarantee_size"`
// Filter templates by parent UUID.
// Required: false
ParentUUID string `url:"parent_uuid,omitempty" json:"parent_uuid,omitempty"`
// Filter to search in all text fields.
// Required: false
FilterText string `url:"filter_text,omitempty" json:"filter_text,omitempty"`
// List columns which will be used by FilterText.
// Required: false
FilterColumns string `url:"filter_columns,omitempty" json:"filter_columns,omitempty"`
// Filter templates deleted before this date.
// Required: false
DeletedBefore time.Time `url:"deleted_before,omitempty" json:"deleted_before,omitempty"`
// Filter templates deleted after this date.
// Required: false
DeletedAfter time.Time `url:"deleted_after,omitempty" json:"deleted_after,omitempty"`
// Filter templates created before this date.
// Required: false
CreatedBefore time.Time `url:"created_before,omitempty" json:"created_before,omitempty"`
// Filter templates created after this date.
// Required: false
CreatedAfter time.Time `url:"created_after,omitempty" json:"created_after,omitempty"`
// Filter VM templates that are unavailable now, because share is unavailable
// Required: false
HideUnavailable interface{} `url:"hide_unavailable,omitempty" json:"hide_unavailable,omitempty" validate:"omitempty,is_bool"`
// Number of returning page.
// Required: false
Page int `url:"page,omitempty" json:"page,omitempty"`
// Number of items on page.
// Required: false
Limit int `url:"limit,omitempty" json:"limit,omitempty"`
// Column sorting, format +|-(field).
// Required: false
Sort []string `url:"sort,omitempty" json:"sort,omitempty"`
// Filter template by visibility. Possible values: "visible", "deleted", "all".
// Required: false
Visibility string `url:"visibility,omitempty" json:"visibility,omitempty" validate:"omitempty,visibility"`
}