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"` }