hc

package
v0.21.0 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package hc documents the request and response payloads for version 1 of the sifi API.

Index

Constants

View Source
const (
	PathPrefix            = "v1"
	AccessControlListPath = "acl"
	ClusterPath           = "cluster"
	DatastorePath         = "datastore"
	DocumentPath          = "document"
	GroupPath             = "group"
	HookPath              = "hook"
	HostPath              = "host"
	ImagePath             = "image"
	InstancePath          = "instance"
	InstanceGroupPath     = "instance-group"
	MarketPath            = "market"
	PingPath              = "ping"
	SecurityGroupPath     = "security-group"
	SystemPath            = "system"
	TemplatePath          = "template"
	UserPath              = "user"
	VirtualDataCenterPath = "vdc"
	VirtualNetworkPath    = "vnet"
	VirtualRouterPath     = "vrouter"
	ZonePath              = "zone"
)

Root path for API endpoint.

Variables

This section is empty.

Functions

func FilterStrings

func FilterStrings() []string

FilterStrings returns a slice of all String values of the enum

func ImageTypeStrings

func ImageTypeStrings() []string

ImageTypeStrings returns a slice of all String values of the enum

func InstanceActionStrings

func InstanceActionStrings() []string

InstanceActionStrings returns a slice of all String values of the enum

func InstanceRecoveryStrings

func InstanceRecoveryStrings() []string

InstanceRecoveryStrings returns a slice of all String values of the enum

func InstanceStateStrings

func InstanceStateStrings() []string

InstanceStateStrings returns a slice of all String values of the enum

func LCMStateStrings

func LCMStateStrings() []string

LCMStateStrings returns a slice of all String values of the enum

func LockLevelStrings

func LockLevelStrings() []string

LockLevelStrings returns a slice of all String values of the enum

func MigrationTypeStrings

func MigrationTypeStrings() []string

MigrationTypeStrings returns a slice of all String values of the enum

func StatusStrings

func StatusStrings() []string

StatusStrings returns a slice of all String values of the enum

func VNetRecoveryStrings

func VNetRecoveryStrings() []string

VNetRecoveryStrings returns a slice of all String values of the enum

Types

type ACL

type ACL struct {
	ID       int    `json:"id" yaml:"id"`
	User     string `json:"user" yaml:"user"`
	Resource string `json:"resource" yaml:"resource"`
	Rights   string `json:"rights" yaml:"rights"`
	Zone     string `json:"zone" yaml:"zone"`
	String   string `json:"string" yaml:"string"`
}

ACL is the API payload based on the legacy xmlrpc backend.

type ACLPool

type ACLPool struct {
	ACL []ACL `json:"acl" yaml:"acl"`
}

ACLPool is the API payload based on the legacy xmlrpc backend.

type AcctHistory

type AcctHistory struct {
	OID       int    `json:"oid" yaml:"oid"`
	Seq       int    `json:"seq" yaml:"seq"`
	Hostname  string `json:"hostname" yaml:"hostname"`
	HID       int    `json:"hid" yaml:"hid"`
	CID       int    `json:"cid" yaml:"cid"`
	Stime     int    `json:"stime" yaml:"stime"`
	Etime     int    `json:"etime" yaml:"etime"`
	VMMAD     string `json:"vmmad" yaml:"vmmad"`
	TmMAD     string `json:"tm_mad" yaml:"tm_mad"`
	DSID      int    `json:"dsid" yaml:"dsid"`
	Pstime    int    `json:"pstime" yaml:"pstime"`
	Petime    int    `json:"petime" yaml:"petime"`
	Rstime    int    `json:"rstime" yaml:"rstime"`
	Retime    int    `json:"retime" yaml:"retime"`
	Estime    int    `json:"estime" yaml:"estime"`
	Eetime    int    `json:"eetime" yaml:"eetime"`
	Action    int    `json:"action" yaml:"action"`
	UID       int    `json:"uid" yaml:"uid"`
	GID       int    `json:"gid" yaml:"gid"`
	RequestID string `json:"request_id" yaml:"request_id"`
	VM        AcctVM `json:"vm" yaml:"vm"`
}

AcctHistory is the API payload based on the legacy xmlrpc backend.

type AcctHistoryRecords

type AcctHistoryRecords struct {
	History []string `json:"history" yaml:"history"`
}

AcctHistoryRecords is the API payload based on the legacy xmlrpc backend.

type AcctPermissions

type AcctPermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

AcctPermissions is the API payload based on the legacy xmlrpc backend.

type AcctSnapshot

type AcctSnapshot struct {
	Active   string `json:"active" yaml:"active"`
	Children string `json:"children" yaml:"children"`
	Date     int    `json:"date" yaml:"date"`
	ID       int    `json:"id" yaml:"id"`
	Name     string `json:"name" yaml:"name"`
	Parent   int    `json:"parent" yaml:"parent"`
	Size     int    `json:"size" yaml:"size"`
}

AcctSnapshot is the API payload based on the legacy xmlrpc backend.

type AcctSnapshots

type AcctSnapshots struct {
	AllowOrphans string         `json:"allow_orphans" yaml:"allow_orphans"`
	CurrentBase  int            `json:"current_base" yaml:"current_base"`
	DiskID       int            `json:"disk_id" yaml:"disk_id"`
	NextSnapshot int            `json:"next_snapshot" yaml:"next_snapshot"`
	Snapshot     []AcctSnapshot `json:"snapshot" yaml:"snapshot"`
}

AcctSnapshots is the API payload based on the legacy xmlrpc backend.

type AcctVM

type AcctVM struct {
	ID             int             `json:"id" yaml:"id"`
	UID            int             `json:"uid" yaml:"uid"`
	GID            int             `json:"gid" yaml:"gid"`
	Uname          string          `json:"uname" yaml:"uname"`
	Gname          string          `json:"gname" yaml:"gname"`
	Name           string          `json:"name" yaml:"name"`
	Permissions    AcctPermissions `json:"permissions" yaml:"permissions"`
	LastPoll       int             `json:"last_poll" yaml:"last_poll"`
	State          int             `json:"state" yaml:"state"`
	LcmState       int             `json:"lcm_state" yaml:"lcm_state"`
	PrevState      int             `json:"prev_state" yaml:"prev_state"`
	PrevLcmState   int             `json:"prev_lcm_state" yaml:"prev_lcm_state"`
	Resched        int             `json:"resched" yaml:"resched"`
	Stime          int             `json:"stime" yaml:"stime"`
	Etime          int             `json:"etime" yaml:"etime"`
	DeployID       string          `json:"deploy_id" yaml:"deploy_id"`
	Monitoring     string          `json:"monitoring" yaml:"monitoring"`
	HistoryRecords string          `json:"history_records" yaml:"history_records"`
	Snapshots      []AcctSnapshots `json:"snapshots" yaml:"snapshots"`
}

AcctVM is the API payload based on the legacy xmlrpc backend.

type AddClusterDatastoreResponse

type AddClusterDatastoreResponse struct {
	Datastore int `json:"datastore"`
}

AddClusterDatastoreResponse is the response body for PATCH /cluster/datastore.

type AddClusterHostResponse

type AddClusterHostResponse struct {
	Host int `json:"host"`
}

AddClusterHostResponse is the response body for PATCH /cluster/host.

type AddClusterNetworkResponse

type AddClusterNetworkResponse struct {
	VNet int `json:"vnet"`
}

AddClusterNetworkResponse is the response body for PATCH /cluster/vnet.

type AddGroupAdminRequest

type AddGroupAdminRequest struct {
	User int `json:"user"`
}

AddGroupAdminRequest is the request body for POST /group/admin.

type AddGroupAdminResponse

type AddGroupAdminResponse struct {
	Group int `json:"group"`
}

AddGroupAdminResponse is the response body for POST /group/admin.

type AddInstanceScheduleRequest

type AddInstanceScheduleRequest struct {
	Template string `json:"template"`
}

AddInstanceScheduleRequest is the request body for POST /instance/schedule.

type AddInstanceScheduleResponse

type AddInstanceScheduleResponse struct {
	Instance int `json:"instance"`
}

AddInstanceScheduleResponse is the response body for POST /instance/schedule.

type AddInstanceSecurityGroupResponse

type AddInstanceSecurityGroupResponse struct {
	Instance int `json:"instance"`
}

AddInstanceSecurityGroupResponse is the response body for POST /instance/security-group.

type AddUserGroupResponse

type AddUserGroupResponse struct {
	User int `json:"user"`
}

AddUserGroupResponse is the response body for POST /user/group.

type AddVDCClusterResponse

type AddVDCClusterResponse struct {
	VDC int `json:"vdc"`
}

AddVDCClusterResponse is the response body for PATCH /vdc/cluster.

type AddVDCDatastoreResponse

type AddVDCDatastoreResponse struct {
	VDC int `json:"vdc"`
}

AddVDCDatastoreResponse is the response body for PATCH /vdc/datastore.

type AddVDCGroupResponse

type AddVDCGroupResponse struct {
	VDC int `json:"vdc"`
}

AddVDCGroupResponse is the response body for PATCH /vdc/group.

type AddVDCHostResponse

type AddVDCHostResponse struct {
	VDC int `json:"vdc"`
}

AddVDCHostResponse is the response body for PATCH /vdc/host.

type AddVDCNetworkResponse

type AddVDCNetworkResponse struct {
	VDC int `json:"vdc"`
}

AddVDCNetworkResponse is the response body for PATCH /vdc/network.

type AddVNetAddressRangeRequest

type AddVNetAddressRangeRequest struct {
	Template string `json:"template"`
}

AddVNetAddressRangeRequest is the request body for POST /vnet/{vnet}/address-range.

type AddVNetAddressRangeResponse

type AddVNetAddressRangeResponse struct {
	VNet int `json:"vnet"`
}

AddVNetAddressRangeResponse is the response body for POST /vnet/address-range.

type AllocateDocumentRequest

type AllocateDocumentRequest struct {
	Template string `json:"template"`
	Type     int    `json:"type"`
}

AllocateDocumentRequest is the request body for POST /document.

type AllocateDocumentResponse

type AllocateDocumentResponse struct {
	Document int `json:"document"`
}

AllocateDocumentResponse is the response body for POST /document.

type CalculateInstancesShowbackRequest

type CalculateInstancesShowbackRequest struct {
	Month Period `json:"month"`
	Year  Period `json:"year"`
}

CalculateInstancesShowbackRequest is the request body for POST /instance/showback.

type ChangeDatastoreOwnershipRequest

type ChangeDatastoreOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeDatastoreOwnershipRequest is the request body for PATCH /datastore/{datastore}/ownership.

type ChangeDatastoreOwnershipResponse

type ChangeDatastoreOwnershipResponse struct {
	Datastore int `json:"datastore"`
}

ChangeDatastoreOwnershipResponse is the response body for PATCH /datastore/ownership.

type ChangeDatastorePermissionsRequest

type ChangeDatastorePermissionsRequest struct {
	Permissions Perms `json:"permissions"`
}

ChangeDatastorePermissionsRequest is the request body for PATCH /datastore/{datastore}/permissions.

type ChangeDatastorePermissionsResponse

type ChangeDatastorePermissionsResponse struct {
	Datastore int `json:"datastore"`
}

ChangeDatastorePermissionsResponse is the response body for PATCH /datastore/permissions.

type ChangeDocumentOwnershipRequest

type ChangeDocumentOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeDocumentOwnershipRequest is the request body for PATCH /document/{document}/ownership.

type ChangeDocumentOwnershipResponse

type ChangeDocumentOwnershipResponse struct {
	Document int `json:"document"`
}

ChangeDocumentOwnershipResponse is the response body for PATCH /document/ownership.

type ChangeDocumentPermissionsRequest

type ChangeDocumentPermissionsRequest struct {
	Permissions Perms `json:"permissions"`
}

ChangeDocumentPermissionsRequest is the request body for PATCH /document/{document}/permissions.

type ChangeDocumentPermissionsResponse

type ChangeDocumentPermissionsResponse struct {
	Document int `json:"document"`
}

ChangeDocumentPermissionsResponse is the response body for PATCH /document/permissions.

type ChangeImageOwnershipRequest

type ChangeImageOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeImageOwnershipRequest is the request body for PATCH /image/{image}/ownership.

type ChangeImageOwnershipResponse

type ChangeImageOwnershipResponse struct {
	Image int `json:"image"`
}

ChangeImageOwnershipResponse is the response body for PATCH /image/ownership.

type ChangeImagePermissionsRequest

type ChangeImagePermissionsRequest struct {
	Permissions Perms `json:"permissions"`
}

ChangeImagePermissionsRequest is the request body for PATCH /image/{image}/permissions.

type ChangeImagePermissionsResponse

type ChangeImagePermissionsResponse struct {
	Image int `json:"image"`
}

ChangeImagePermissionsResponse is the response body for PATCH /image/permissions.

type ChangeImageTypeRequest

type ChangeImageTypeRequest struct {
	Type string `json:"type"`
}

ChangeImageTypeRequest is the request body for PATCH /image/{image}/type.

type ChangeImageTypeResponse

type ChangeImageTypeResponse struct {
	Image int `json:"image"`
}

ChangeImageTypeResponse is the response body for PATCH /image/type.

type ChangeInstanceGroupOwnershipRequest

type ChangeInstanceGroupOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeInstanceGroupOwnershipRequest is the request body for PATCH /instance-group/{group}/ownership.

type ChangeInstanceGroupOwnershipResponse

type ChangeInstanceGroupOwnershipResponse struct {
	Group int `json:"group"`
}

ChangeInstanceGroupOwnershipResponse is the response body for PATCH /instance-group/ownership.

type ChangeInstanceGroupPermissionsRequest

type ChangeInstanceGroupPermissionsRequest struct {
	Permissions Perms `json:"permissions"`
}

ChangeInstanceGroupPermissionsRequest is the request body for PATCH /instance-group/{group}/permissions.

type ChangeInstanceGroupPermissionsResponse

type ChangeInstanceGroupPermissionsResponse struct {
	Group int `json:"group"`
}

ChangeInstanceGroupPermissionsResponse is the response body for PATCH /instance-group/permissions.

type ChangeInstanceOwnershipRequest

type ChangeInstanceOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeInstanceOwnershipRequest is the request body for PATCH /instance/{instance}/ownership.

type ChangeInstanceOwnershipResponse

type ChangeInstanceOwnershipResponse struct {
	Instance int `json:"instance"`
}

ChangeInstanceOwnershipResponse is the response body for PATCH /instance/ownership.

type ChangeInstancePermissionsRequest

type ChangeInstancePermissionsRequest struct {
	Permissions Perms `json:"permissions"`
}

ChangeInstancePermissionsRequest is the request body for PATCH /instance/{instance}/permissions.

type ChangeInstancePermissionsResponse

type ChangeInstancePermissionsResponse struct {
	Instance int `json:"instance"`
}

ChangeInstancePermissionsResponse is the response body for PATCH /instance/permissions.

type ChangeMarketAppOwnershipRequest

type ChangeMarketAppOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeMarketAppOwnershipRequest is the request body for PATCH /market/app/{app}/ownership.

type ChangeMarketAppOwnershipResponse

type ChangeMarketAppOwnershipResponse struct {
	MarketApp int `json:"market_app"`
}

ChangeMarketAppOwnershipResponse is the response body for PATCH /market/app/ownership.

type ChangeMarketAppPermissionsRequest

type ChangeMarketAppPermissionsRequest struct {
	Permissions Perms `json:"permissions"`
}

ChangeMarketAppPermissionsRequest is the request body for PATCH /market/app/{app}/permissions.

type ChangeMarketAppPermissionsResponse

type ChangeMarketAppPermissionsResponse struct {
	MarketApp int `json:"market_app"`
}

ChangeMarketAppPermissionsResponse is the response body for PATCH /market/app/permissions.

type ChangeMarketOwnershipRequest

type ChangeMarketOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeMarketOwnershipRequest is the request body for PATCH /market/{market}/ownership.

type ChangeMarketOwnershipResponse

type ChangeMarketOwnershipResponse struct {
	Market int `json:"market"`
}

ChangeMarketOwnershipResponse is the response body for PATCH /market/ownership.

type ChangeMarketPermissionsRequest

type ChangeMarketPermissionsRequest struct {
	Permissions Perms `json:"permissions"`
}

ChangeMarketPermissionsRequest is the request body for PATCH /market/{market}/permissions.

type ChangeMarketPermissionsResponse

type ChangeMarketPermissionsResponse struct {
	Market int `json:"market"`
}

ChangeMarketPermissionsResponse is the response body for PATCH /market/permissions.

type ChangeSecurityGroupOwnershipRequest

type ChangeSecurityGroupOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeSecurityGroupOwnershipRequest is the request body for PATCH /security-group/{sg}/chown.

type ChangeSecurityGroupOwnershipResponse

type ChangeSecurityGroupOwnershipResponse struct {
	SecurityGroup int `json:"security_group"`
}

ChangeSecurityGroupOwnershipResponse is the response body for PATCH /sg/chown.

type ChangeSecurityGroupPermissionsRequest

type ChangeSecurityGroupPermissionsRequest struct {
	Perms Perms `json:"perms"`
}

ChangeSecurityGroupPermissionsRequest is the request body for PATCH /security-group/{sg}/chmod.

type ChangeSecurityGroupPermissionsResponse

type ChangeSecurityGroupPermissionsResponse struct {
	SecurityGroup int `json:"security_group"`
}

ChangeSecurityGroupPermissionsResponse is the response body for PATCH /sg/chmod.

type ChangeTemplateOwnershipRequest

type ChangeTemplateOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeTemplateOwnershipRequest is the response body for PATCH /template/{template}/ownership.

type ChangeTemplateOwnershipResponse

type ChangeTemplateOwnershipResponse struct {
	Template int `json:"template"`
}

ChangeTemplateOwnershipResponse is the response body for PATCH /template/ownership.

type ChangeTemplatePermissionsRequest

type ChangeTemplatePermissionsRequest struct {
	Permissions Perms `json:"permissions"`
	Disk        bool  `json:"disk"`
}

ChangeTemplatePermissionsRequest is the response body for PATCH /template/{template}/permissions.

type ChangeTemplatePermissionsResponse

type ChangeTemplatePermissionsResponse struct {
	Template int `json:"template"`
}

ChangeTemplatePermissionsResponse is the response body for PATCH /template/permissions.

type ChangeUserAuthRequest

type ChangeUserAuthRequest struct {
	Driver   string `json:"driver"`
	Password string `json:"password"`
}

ChangeUserAuthRequest is the request body for PATCH /user/{user}/auth.

type ChangeUserAuthResponse

type ChangeUserAuthResponse struct {
	User int `json:"user"`
}

ChangeUserAuthResponse is the response body for PATCH /user/auth.

type ChangeUserGroupResponse

type ChangeUserGroupResponse struct {
	User int `json:"user"`
}

ChangeUserGroupResponse is the response body for PATCH /user/group.

type ChangeUserPasswordRequest

type ChangeUserPasswordRequest struct {
	Password string `json:"password"`
}

ChangeUserPasswordRequest is the request body for PATCH /user/{user}/password.

type ChangeUserPasswordResponse

type ChangeUserPasswordResponse struct {
	User int `json:"user"`
}

ChangeUserPasswordResponse is the response body for PATCH /user/password.

type ChangeVNetOwnershipRequest

type ChangeVNetOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeVNetOwnershipRequest is the request body for PATCH /vnet/{vnet}/ownership.

type ChangeVNetOwnershipResponse

type ChangeVNetOwnershipResponse struct {
	VNet int `json:"vnet"`
}

ChangeVNetOwnershipResponse is the response body for PATCH /vnet/ownership.

type ChangeVNetPermissionsRequest

type ChangeVNetPermissionsRequest struct {
	Permissions Perms `json:"permissions"`
}

ChangeVNetPermissionsRequest is the request body for PATCH /vnet/{vnet}/permissions.

type ChangeVNetPermissionsResponse

type ChangeVNetPermissionsResponse struct {
	VNet int `json:"vnet"`
}

ChangeVNetPermissionsResponse is the response body for PATCH /vnet/permissions.

type ChangeVNetTemplateOwnershipRequest

type ChangeVNetTemplateOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeVNetTemplateOwnershipRequest is the request body for PATCH /vnet/template/{template}/ownership.

type ChangeVNetTemplateOwnershipResponse

type ChangeVNetTemplateOwnershipResponse struct {
	Template int `json:"template"`
}

ChangeVNetTemplateOwnershipResponse is the response body for PATCH /vnet/template/ownership.

type ChangeVNetTemplatePermissionsRequest

type ChangeVNetTemplatePermissionsRequest struct {
	Permissions Perms `json:"permissions"`
}

ChangeVNetTemplatePermissionsRequest is the request body for PATCH /vnet/template/{template}/permissions.

type ChangeVNetTemplatePermissionsResponse

type ChangeVNetTemplatePermissionsResponse struct {
	Template int `json:"template"`
}

ChangeVNetTemplatePermissionsResponse is the response body for PATCH /vnet/template/permissions.

type ChangeVRouterOwnershipRequest

type ChangeVRouterOwnershipRequest struct {
	User  *int `json:"user,omitempty"`
	Group *int `json:"group,omitempty"`
}

ChangeVRouterOwnershipRequest is the request body for PATCH /vrouter/{router}/ownership.

type ChangeVRouterOwnershipResponse

type ChangeVRouterOwnershipResponse struct {
	Router int `json:"router"`
}

ChangeVRouterOwnershipResponse is the response body for PATCH /vrouter/ownership.

type ChangeVRouterPermissionsRequest

type ChangeVRouterPermissionsRequest struct {
	Permissions Perms `json:"permissions"`
}

ChangeVRouterPermissionsRequest is the request body for PATCH /vrouter/{router}/permissions.

type ChangeVRouterPermissionsResponse

type ChangeVRouterPermissionsResponse struct {
	Router int `json:"router"`
}

ChangeVRouterPermissionsResponse is the response body for PATCH /vrouter/permissions.

type CloneDocumentRequest

type CloneDocumentRequest struct {
	Name string `json:"name"`
}

CloneDocumentRequest is the request body for POST /document/{document}/clone.

type CloneDocumentResponse

type CloneDocumentResponse struct {
	Document int `json:"document"`
}

CloneDocumentResponse is the response body for POST /document/clone.

type CloneImageRequest

type CloneImageRequest struct {
	Name      string `json:"name"`
	Datastore *int   `json:"datastore"`
}

CloneImageRequest is the request body for POST /image/clone.

type CloneImageResponse

type CloneImageResponse struct {
	Image int `json:"image"`
}

CloneImageResponse is the response body for POST /image/clone.

type CloneSecurityGroupRequest

type CloneSecurityGroupRequest struct {
	Name string `json:"name"`
}

CloneSecurityGroupRequest is the request body for POST /security-group/{sg}/clone.

type CloneSecurityGroupResponse

type CloneSecurityGroupResponse struct {
	SecurityGroup int `json:"security_group"`
}

CloneSecurityGroupResponse is the response body for POST /sg/clone.

type CloneTemplateRequest

type CloneTemplateRequest struct {
	Name string `json:"name"`
	Disk bool   `json:"disk"`
}

CloneTemplateRequest is the response body for POST /template/{template}/clone.

type CloneTemplateResponse

type CloneTemplateResponse struct {
	Template int `json:"template"`
}

CloneTemplateResponse is the response body for POST /template/clone.

type CloneVNetTemplateRequest

type CloneVNetTemplateRequest struct {
	Name string `json:"name"`
}

CloneVNetTemplateRequest is the request body for POST /vnet/template/clone.

type CloneVNetTemplateResponse

type CloneVNetTemplateResponse struct {
	Template int `json:"template"`
}

CloneVNetTemplateResponse is the response body for POST /vnet/template/clone.

type Cluster

type Cluster struct {
	ID         int               `json:"id" yaml:"id"`
	Name       string            `json:"name" yaml:"name"`
	Hosts      ClusterHosts      `json:"hosts" yaml:"hosts"`
	Datastores ClusterDatastores `json:"datastores" yaml:"datastores"`
	Vnets      ClusterVnets      `json:"vnets" yaml:"vnets"`
	Template   string            `json:"template" yaml:"template"`
}

Cluster is the API payload based on the legacy xmlrpc backend.

type ClusterDatastores

type ClusterDatastores struct {
	ID []int `json:"id" yaml:"id"`
}

ClusterDatastores is the API payload based on the legacy xmlrpc backend.

type ClusterHosts

type ClusterHosts struct {
	ID []int `json:"id" yaml:"id"`
}

ClusterHosts is the API payload based on the legacy xmlrpc backend.

type ClusterVDC

type ClusterVDC struct {
	ZoneID    int `json:"zone_id" yaml:"zone_id"`
	ClusterID int `json:"cluster_id" yaml:"cluster_id"`
}

ClusterVDC is the API payload based on the legacy xmlrpc backend.

type ClusterVnets

type ClusterVnets struct {
	ID []int `json:"id" yaml:"id"`
}

ClusterVnets is the API payload based on the legacy xmlrpc backend.

type CommitSecurityGroupRequest

type CommitSecurityGroupRequest struct {
	All bool `json:"all"`
}

CommitSecurityGroupRequest is the request body for PATCH /security-group/{sg}/commit.

type CommitSecurityGroupResponse

type CommitSecurityGroupResponse struct {
	SecurityGroup int `json:"security_group"`
}

CommitSecurityGroupResponse is the response body for PATCH /sg/commit.

type ConfigAuthMAD

type ConfigAuthMAD struct {
	Authn      string `json:"authn" yaml:"authn"`
	Executable string `json:"executable" yaml:"executable"`
}

ConfigAuthMAD is the API payload based on the legacy xmlrpc backend.

type ConfigAuthMADConf

type ConfigAuthMADConf struct {
	DriverManagedGroups     string `json:"driver_managed_groups" yaml:"driver_managed_groups"`
	DriverManagedGroupAdmin string `json:"driver_managed_group_admin" yaml:"driver_managed_group_admin"`
	MaxTokenTime            int    `json:"max_token_time" yaml:"max_token_time"`
	Name                    string `json:"name" yaml:"name"`
	PasswordChange          string `json:"password_change" yaml:"password_change"`
}

ConfigAuthMADConf is the API payload based on the legacy xmlrpc backend.

type ConfigBackend

type ConfigBackend string

ConfigBackend is a type alias for string.

type ConfigColdNICAttach

type ConfigColdNICAttach string

ConfigColdNICAttach is a type alias for string.

type ConfigCompareBinary

type ConfigCompareBinary string

ConfigCompareBinary is a type alias for string.

type ConfigDB

type ConfigDB struct {
	Backend       ConfigBackend       `json:"backend" yaml:"backend"`
	CompareBinary ConfigCompareBinary `json:"compare_binary" yaml:"compare_binary"`
	Connections   int                 `json:"connections" yaml:"connections"`
	DBName        string              `json:"dbname" yaml:"dbname"`
	Passwd        string              `json:"passwd" yaml:"passwd"`
	Port          int                 `json:"port" yaml:"port"`
	Server        string              `json:"server" yaml:"server"`
	User          string              `json:"user" yaml:"user"`
	Timeout       int                 `json:"timeout" yaml:"timeout"`
}

ConfigDB is the API payload based on the legacy xmlrpc backend.

type ConfigDSLiveMigration

type ConfigDSLiveMigration string

ConfigDSLiveMigration is a type alias for string.

type ConfigDSMADConf

type ConfigDSMADConf struct {
	MarketplaceActions string               `json:"marketplace_actions" yaml:"marketplace_actions"`
	Name               string               `json:"name" yaml:"name"`
	PersistentOnly     ConfigPersistentOnly `json:"persistent_only" yaml:"persistent_only"`
	RequiredAttrs      string               `json:"required_attrs" yaml:"required_attrs"`
}

ConfigDSMADConf is the API payload based on the legacy xmlrpc backend.

type ConfigDatastoreMAD

type ConfigDatastoreMAD struct {
	Arguments  string `json:"arguments" yaml:"arguments"`
	Executable string `json:"executable" yaml:"executable"`
}

ConfigDatastoreMAD is the API payload based on the legacy xmlrpc backend.

type ConfigDefaultCost

type ConfigDefaultCost struct {
	CPUCost    int `json:"cpucost" yaml:"cpucost"`
	DiskCost   int `json:"disk_cost" yaml:"disk_cost"`
	MemoryCost int `json:"memory_cost" yaml:"memory_cost"`
}

ConfigDefaultCost is the API payload based on the legacy xmlrpc backend.

type ConfigEnableOtherPermissions

type ConfigEnableOtherPermissions string

ConfigEnableOtherPermissions is a type alias for string.

type ConfigFederation

type ConfigFederation struct {
	MasterOned string     `json:"master_oned" yaml:"master_oned"`
	Mode       ConfigMode `json:"mode" yaml:"mode"`
	ServerID   int        `json:"server_id" yaml:"server_id"`
	ZoneID     int        `json:"zone_id" yaml:"zone_id"`
}

ConfigFederation is the API payload based on the legacy xmlrpc backend.

type ConfigHmMAD

type ConfigHmMAD struct {
	Arguments  string `json:"arguments" yaml:"arguments"`
	Executable string `json:"executable" yaml:"executable"`
}

ConfigHmMAD is the API payload based on the legacy xmlrpc backend.

type ConfigHookLogConf

type ConfigHookLogConf struct {
	LogRetention int `json:"log_retention" yaml:"log_retention"`
}

ConfigHookLogConf is the API payload based on the legacy xmlrpc backend.

type ConfigImMAD

type ConfigImMAD struct {
	Arguments  string `json:"arguments" yaml:"arguments"`
	Executable string `json:"executable" yaml:"executable"`
	Name       string `json:"name" yaml:"name"`
	Threads    int    `json:"threads" yaml:"threads"`
}

ConfigImMAD is the API payload based on the legacy xmlrpc backend.

type ConfigInstanceMAD

type ConfigInstanceMAD struct {
	Arguments                string                `json:"arguments" yaml:"arguments"`
	Default                  string                `json:"default" yaml:"default"`
	Executable               string                `json:"executable" yaml:"executable"`
	ImportedInstancesActions string                `json:"imported_instances_actions" yaml:"imported_instances_actions"`
	Name                     string                `json:"name" yaml:"name"`
	SunstoneName             string                `json:"sunstone_name" yaml:"sunstone_name"`
	Type                     string                `json:"type" yaml:"type"`
	KeepSnapshots            ConfigKeepSnapshots   `json:"keep_snapshots" yaml:"keep_snapshots"`
	ColdNICAttach            ConfigColdNICAttach   `json:"cold_nicattach" yaml:"cold_nicattach"`
	DSLiveMigration          ConfigDSLiveMigration `json:"dslive_migration" yaml:"dslive_migration"`
	LiveResize               ConfigLiveResize      `json:"live_resize" yaml:"live_resize"`
}

ConfigInstanceMAD is the API payload based on the legacy xmlrpc backend.

type ConfigInstanceSubmitOnHold

type ConfigInstanceSubmitOnHold string

ConfigInstanceSubmitOnHold is a type alias for string.

type ConfigIpamMAD

type ConfigIpamMAD struct {
	Arguments  string `json:"arguments" yaml:"arguments"`
	Executable string `json:"executable" yaml:"executable"`
}

ConfigIpamMAD is the API payload based on the legacy xmlrpc backend.

type ConfigKeepSnapshots

type ConfigKeepSnapshots string

ConfigKeepSnapshots is a type alias for string.

type ConfigLiveResize

type ConfigLiveResize string

ConfigLiveResize is a type alias for string.

type ConfigLog

type ConfigLog struct {
	DebugLevel           int    `json:"debug_level" yaml:"debug_level"`
	System               string `json:"system" yaml:"system"`
	UseInstancesLocation string `json:"use_instances_location" yaml:"use_instances_location"`
}

ConfigLog is the API payload based on the legacy xmlrpc backend.

type ConfigMarketMAD

type ConfigMarketMAD struct {
	Arguments  string `json:"arguments" yaml:"arguments"`
	Executable string `json:"executable" yaml:"executable"`
}

ConfigMarketMAD is the API payload based on the legacy xmlrpc backend.

type ConfigMarketMADConf

type ConfigMarketMADConf struct {
	AppActions    string       `json:"app_actions" yaml:"app_actions"`
	Name          string       `json:"name" yaml:"name"`
	Public        ConfigPublic `json:"public" yaml:"public"`
	RequiredAttrs string       `json:"required_attrs" yaml:"required_attrs"`
	SunstoneName  string       `json:"sunstone_name" yaml:"sunstone_name"`
}

ConfigMarketMADConf is the API payload based on the legacy xmlrpc backend.

type ConfigMode

type ConfigMode string

ConfigMode is a type alias for string.

type ConfigPersistentOnly

type ConfigPersistentOnly string

ConfigPersistentOnly is a type alias for string.

type ConfigPublic

type ConfigPublic string

ConfigPublic is a type alias for string.

type ConfigRaft

type ConfigRaft struct {
	BroadcastTimeoutMS int `json:"broadcast_timeout_ms" yaml:"broadcast_timeout_ms"`
	ElectionTimeoutMS  int `json:"election_timeout_ms" yaml:"election_timeout_ms"`
	LimitPurge         int `json:"limit_purge" yaml:"limit_purge"`
	LogPurgeTimeout    int `json:"log_purge_timeout" yaml:"log_purge_timeout"`
	LogRetention       int `json:"log_retention" yaml:"log_retention"`
	XmlrpcTimeoutMS    int `json:"xmlrpc_timeout_ms" yaml:"xmlrpc_timeout_ms"`
}

ConfigRaft is the API payload based on the legacy xmlrpc backend.

type ConfigTmMAD

type ConfigTmMAD struct {
	Arguments  string `json:"arguments" yaml:"arguments"`
	Executable string `json:"executable" yaml:"executable"`
}

ConfigTmMAD is the API payload based on the legacy xmlrpc backend.

type ConfigTmMADConf

type ConfigTmMADConf struct {
	AllowOrphans      string `json:"allow_orphans" yaml:"allow_orphans"`
	CloneTarget       string `json:"clone_target" yaml:"clone_target"`
	CloneTargetShared string `json:"clone_target_shared" yaml:"clone_target_shared"`
	CloneTargetSSH    string `json:"clone_target_ssh" yaml:"clone_target_ssh"`
	DiskTypeShared    string `json:"disk_type_shared" yaml:"disk_type_shared"`
	DiskTypeSSH       string `json:"disk_type_ssh" yaml:"disk_type_ssh"`
	Driver            string `json:"driver" yaml:"driver"`
	DSMigrate         string `json:"dsmigrate" yaml:"dsmigrate"`
	LnTarget          string `json:"ln_target" yaml:"ln_target"`
	LnTargetShared    string `json:"ln_target_shared" yaml:"ln_target_shared"`
	LnTargetSSH       string `json:"ln_target_ssh" yaml:"ln_target_ssh"`
	Name              string `json:"name" yaml:"name"`
	Shared            string `json:"shared" yaml:"shared"`
	TmMADSystem       string `json:"tm_madsystem" yaml:"tm_madsystem"`
}

ConfigTmMADConf is the API payload based on the legacy xmlrpc backend.

type ConfigVLANIDs

type ConfigVLANIDs struct {
	Reserved string `json:"reserved" yaml:"reserved"`
	Start    int    `json:"start" yaml:"start"`
}

ConfigVLANIDs is the API payload based on the legacy xmlrpc backend.

type ConfigVNCPorts

type ConfigVNCPorts struct {
	Reserved string `json:"reserved" yaml:"reserved"`
	Start    int    `json:"start" yaml:"start"`
}

ConfigVNCPorts is the API payload based on the legacy xmlrpc backend.

type ConfigVNMADConf

type ConfigVNMADConf struct {
	BridgeType string `json:"bridge_type" yaml:"bridge_type"`
	Name       string `json:"name" yaml:"name"`
}

ConfigVNMADConf is the API payload based on the legacy xmlrpc backend.

type ConfigVxlanIDs

type ConfigVxlanIDs struct {
	Start int `json:"start" yaml:"start"`
}

ConfigVxlanIDs is the API payload based on the legacy xmlrpc backend.

type CreateACLRequest

type CreateACLRequest struct {
	User     int  `json:"user"`
	Resource int  `json:"resource"`
	Rights   int  `json:"rights"`
	Zone     *int `json:"zone,omitempty"`
}

CreateACLRequest is the request body for POST /acl.

type CreateACLResponse

type CreateACLResponse struct {
	ACL int `json:"acl"`
}

CreateACLResponse is the response body for POST /acl.

type CreateClusterRequest

type CreateClusterRequest struct {
	Name string `json:"name"`
}

CreateClusterRequest is request body for POST /cluster.

type CreateClusterResponse

type CreateClusterResponse struct {
	Cluster int `json:"cluster"`
}

CreateClusterResponse is response body for POST /cluster.

type CreateDatastoreRequest

type CreateDatastoreRequest struct {
	Template string `json:"template"`
	Cluster  *int   `json:"cluster,omitempty"`
}

CreateDatastoreRequest is the request body for POST /datastore.

type CreateDatastoreResponse

type CreateDatastoreResponse struct {
	Datastore int `json:"datastore"`
}

CreateDatastoreResponse is the response body for POST /datastore.

type CreateGroupRequest

type CreateGroupRequest struct {
	Name string `json:"name"`
}

CreateGroupRequest is the request body for POST /group.

type CreateGroupResponse

type CreateGroupResponse struct {
	Group int `json:"group"`
}

CreateGroupResponse is the response body for POST /group.

type CreateHookRequest

type CreateHookRequest struct {
	Template string `json:"template"`
}

CreateHookRequest is the request body for POST /hook.

type CreateHookResponse

type CreateHookResponse struct {
	Hook int `json:"hook"`
}

CreateHookResponse is the response body for POST /hook.

type CreateHostRequest

type CreateHostRequest struct {
	Hostname    string `json:"hostname"`
	InfoManager string `json:"info_manager"`
	VMManager   string `json:"vm_manager"`
	Cluster     *int   `json:"cluster,omitempty"`
}

CreateHostRequest is the request body for POST /host.

type CreateHostResponse

type CreateHostResponse struct {
	Host int `json:"host"`
}

CreateHostResponse is the response body for POST /host.

type CreateImageRequest

type CreateImageRequest struct {
	Template        string `json:"template"`
	Datastore       int    `json:"datastore"`
	EnforceCapacity bool   `json:"enforce_capacity"`
}

CreateImageRequest is the request body for POST /image.

type CreateImageResponse

type CreateImageResponse struct {
	Image int `json:"image"`
}

CreateImageResponse is the response body for POST /image.

type CreateInstanceDiskImageRequest

type CreateInstanceDiskImageRequest struct {
	Name      string `json:"name"`
	ImageType string `json:"image_type"`
	Snapshot  *int   `json:"snapshot,omitempty"`
}

CreateInstanceDiskImageRequest is the request body for POST /instance/disk/image.

type CreateInstanceDiskImageResponse

type CreateInstanceDiskImageResponse struct {
	Image int `json:"image"`
}

CreateInstanceDiskImageResponse is the response body for POST /instance/disk/image.

type CreateInstanceDiskRequest

type CreateInstanceDiskRequest struct {
	DiskTemplate string `json:"disk"`
}

CreateInstanceDiskRequest is the request body for POST /instance/disk.

type CreateInstanceDiskResponse

type CreateInstanceDiskResponse struct {
	Instance int `json:"instance"`
}

CreateInstanceDiskResponse is the response body for POST /instance/disk.

type CreateInstanceDiskSnapshotRequest

type CreateInstanceDiskSnapshotRequest struct {
	Description string `json:"description"`
}

CreateInstanceDiskSnapshotRequest is the request body for POST /instance/disk/snapshot.

type CreateInstanceDiskSnapshotResponse

type CreateInstanceDiskSnapshotResponse struct {
	Instance int `json:"instance"`
}

CreateInstanceDiskSnapshotResponse is the response body for POST /instance/disk/snapshot.

type CreateInstanceGroupRequest

type CreateInstanceGroupRequest struct {
	Template string `json:"template"`
}

CreateInstanceGroupRequest is the request body for POST /instance-group.

type CreateInstanceGroupResponse

type CreateInstanceGroupResponse struct {
	Group int `json:"group"`
}

CreateInstanceGroupResponse is the response body for POST /instance-group.

type CreateInstanceNICRequest

type CreateInstanceNICRequest struct {
	NICTemplate string `json:"nic"`
}

CreateInstanceNICRequest is the request body for POST /instance/nic.

type CreateInstanceNICResponse

type CreateInstanceNICResponse struct {
	Instance int `json:"instance"` // TODO: would make more sense as NIC ID, maybe docs are wrong
}

CreateInstanceNICResponse is the response body for POST /instance/nic.

type CreateInstanceRequest

type CreateInstanceRequest struct {
	Template string `json:"template"`
	Pending  bool   `json:"pending"`
}

CreateInstanceRequest is the request body for POST /instance.

type CreateInstanceResponse

type CreateInstanceResponse struct {
	Instance int `json:"instance"`
}

CreateInstanceResponse is the response body for POST /instance.

type CreateInstanceSnapshotRequest

type CreateInstanceSnapshotRequest struct {
	Snapshot string `json:"snapshot"`
}

CreateInstanceSnapshotRequest is the request body for POST /instance/snapshot.

type CreateInstanceSnapshotResponse

type CreateInstanceSnapshotResponse struct {
	Snapshot int `json:"snapshot"`
}

CreateInstanceSnapshotResponse is the response body for POST /instance/snapshot.

type CreateMarketAppRequest

type CreateMarketAppRequest struct {
	Template string `json:"template"`
}

CreateMarketAppRequest is the request body for POST /market/{market}/app/{app}.

type CreateMarketAppResponse

type CreateMarketAppResponse struct {
	MarketApp int `json:"market_app"`
}

CreateMarketAppResponse is the response body for POST /market/app.

type CreateMarketRequest

type CreateMarketRequest struct {
	Template string `json:"template"`
}

CreateMarketRequest is the request body for POST /market.

type CreateMarketResponse

type CreateMarketResponse struct {
	Market int `json:"market"`
}

CreateMarketResponse is the response body for POST /market.

type CreateSecurityGroupRequest

type CreateSecurityGroupRequest struct {
	Template string `json:"template"`
}

CreateSecurityGroupRequest is the request body for POST /security-group.

type CreateSecurityGroupResponse

type CreateSecurityGroupResponse struct {
	SecurityGroup int `json:"security_group"`
}

CreateSecurityGroupResponse is the response body for POST /sg.

type CreateTemplateRequest

type CreateTemplateRequest struct {
	Data string `json:"data"`
}

CreateTemplateRequest is the response body for POST /template.

type CreateTemplateResponse

type CreateTemplateResponse struct {
	Template int `json:"template"`
}

CreateTemplateResponse is the response body for POST /template.

type CreateUserRequest

type CreateUserRequest struct {
	Username string `json:"username"`
	Password string `json:"password"`
	Auth     string `json:"auth"`
	Gids     []int  `json:"gids"`
}

CreateUserRequest is the request body for POST /user.

type CreateUserResponse

type CreateUserResponse struct {
	User int `json:"user"`
}

CreateUserResponse is the response body for POST /user.

type CreateVDCRequest

type CreateVDCRequest struct {
	Template string `json:"template"`
}

CreateVDCRequest is the request body for POST /vdc.

type CreateVDCResponse

type CreateVDCResponse struct {
	VDC int `json:"vdc"`
}

CreateVDCResponse is the response body for POST /vdc.

type CreateVNetRequest

type CreateVNetRequest struct {
	Template string `json:"template"`
	Cluster  *int   `json:"cluster,omitempty"`
}

CreateVNetRequest is the request body for POST /vnet.

type CreateVNetResponse

type CreateVNetResponse struct {
	VNet int `json:"vnet"`
}

CreateVNetResponse is the response body for POST /vnet.

type CreateVNetTemplateRequest

type CreateVNetTemplateRequest struct {
	Template string `json:"template"`
}

CreateVNetTemplateRequest is the request body for POST /vnet/template.

type CreateVNetTemplateResponse

type CreateVNetTemplateResponse struct {
	Template int `json:"template"`
}

CreateVNetTemplateResponse is the response body for POST /vnet/template.

type CreateVRouterNICRequest

type CreateVRouterNICRequest struct {
	Template string `json:"template"`
}

CreateVRouterNICRequest is the request body for PATCH /vrouter/nic.

type CreateVRouterNICResponse

type CreateVRouterNICResponse struct {
	Router int `json:"router"`
}

CreateVRouterNICResponse is the response body for PATCH /vrouter/nic.

type CreateVRouterRequest

type CreateVRouterRequest struct {
	Template string `json:"template"`
}

CreateVRouterRequest is the request body for POST /vrouter.

type CreateVRouterResponse

type CreateVRouterResponse struct {
	Router int `json:"router"`
}

CreateVRouterResponse is the response body for POST /vrouter.

type CreateZoneRequest

type CreateZoneRequest struct {
	Template string `json:"template"`
}

CreateZoneRequest is the request body for POST /zone.

type CreateZoneResponse

type CreateZoneResponse struct {
	Zone int `json:"zone"`
}

CreateZoneResponse is the response body for POST /zone.

type Datastore

type Datastore struct {
	ID          int                  `json:"id" yaml:"id"`
	UID         int                  `json:"uid" yaml:"uid"`
	GID         int                  `json:"gid" yaml:"gid"`
	Uname       string               `json:"uname" yaml:"uname"`
	Gname       string               `json:"gname" yaml:"gname"`
	Name        string               `json:"name" yaml:"name"`
	Permissions DatastorePermissions `json:"permissions" yaml:"permissions"`
	DSMAD       string               `json:"dsmad" yaml:"dsmad"`
	TmMAD       string               `json:"tm_mad" yaml:"tm_mad"`
	BasePath    string               `json:"base_path" yaml:"base_path"`
	Type        int                  `json:"type" yaml:"type"`
	DiskType    int                  `json:"disk_type" yaml:"disk_type"`
	State       int                  `json:"state" yaml:"state"`
	Clusters    DatastoreClusters    `json:"clusters" yaml:"clusters"`
	TotalMB     int                  `json:"total_mb" yaml:"total_mb"`
	FreeMB      int                  `json:"free_mb" yaml:"free_mb"`
	UsedMB      int                  `json:"used_mb" yaml:"used_mb"`
	Images      DatastoreImages      `json:"images" yaml:"images"`
	Template    DatastoreTemplate    `json:"template" yaml:"template"`
}

Datastore is the API payload based on the legacy xmlrpc backend.

type DatastoreClusters

type DatastoreClusters struct {
	ID []int `json:"id" yaml:"id"`
}

DatastoreClusters is the API payload based on the legacy xmlrpc backend.

type DatastoreImages

type DatastoreImages struct {
	ID []int `json:"id" yaml:"id"`
}

DatastoreImages is the API payload based on the legacy xmlrpc backend.

type DatastorePermissions

type DatastorePermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

DatastorePermissions is the API payload based on the legacy xmlrpc backend.

type DatastoreTemplate

type DatastoreTemplate struct {
	Values            map[string]string `json:"values" yaml:"values"`
	VCenterDCName     string            `json:"vcenter_dcname" yaml:"vcenter_dcname"`
	VCenterDCRef      string            `json:"vcenter_dcref" yaml:"vcenter_dcref"`
	VCenterDSName     string            `json:"vcenter_dsname" yaml:"vcenter_dsname"`
	VCenterDSRef      string            `json:"vcenter_dsref" yaml:"vcenter_dsref"`
	VCenterHost       string            `json:"vcenter_host" yaml:"vcenter_host"`
	VCenterInstanceID string            `json:"vcenter_instance_id" yaml:"vcenter_instance_id"`
}

DatastoreTemplate is the API payload based on the legacy xmlrpc backend.

type DefaultGroupQuotas

type DefaultGroupQuotas struct {
	DatastoreQuota GroupAnon1 `json:"datastore_quota" yaml:"datastore_quota"`
	NetworkQuota   GroupAnon3 `json:"network_quota" yaml:"network_quota"`
	VMQuota        GroupAnon5 `json:"vmquota" yaml:"vmquota"`
	ImageQuota     GroupAnon7 `json:"image_quota" yaml:"image_quota"`
}

DefaultGroupQuotas is the API payload based on the legacy xmlrpc backend.

type DefaultUserQuotas

type DefaultUserQuotas struct {
	DatastoreQuota UserAnon1 `json:"datastore_quota" yaml:"datastore_quota"`
	NetworkQuota   UserAnon3 `json:"network_quota" yaml:"network_quota"`
	VMQuota        UserAnon5 `json:"vmquota" yaml:"vmquota"`
	ImageQuota     UserAnon7 `json:"image_quota" yaml:"image_quota"`
}

DefaultUserQuotas is the API payload based on the legacy xmlrpc backend.

type DeleteTemplateResponse

type DeleteTemplateResponse struct {
	Template int `json:"template"`
}

DeleteTemplateResponse is the response body for DELETE /template/{template}.

type DeployInstanceRequest

type DeployInstanceRequest struct {
	Host      int    `json:"host"`
	Enforce   bool   `json:"enforce,omitempty"`
	Datastore *int   `json:"datastore,omitempty"`
	Template  string `json:"template"`
}

DeployInstanceRequest is the request body for POST /instance/{instance}/deploy.

type DeployInstanceResponse

type DeployInstanceResponse struct {
	Instance int `json:"instance"`
}

DeployInstanceResponse is the response body for PATCH /instance/deploy.

type Document

type Document struct {
	ID          int                 `json:"id" yaml:"id"`
	UID         int                 `json:"uid" yaml:"uid"`
	GID         int                 `json:"gid" yaml:"gid"`
	Uname       string              `json:"uname" yaml:"uname"`
	Gname       string              `json:"gname" yaml:"gname"`
	Name        string              `json:"name" yaml:"name"`
	Type        string              `json:"type" yaml:"type"`
	Permissions DocumentPermissions `json:"permissions" yaml:"permissions"`
	Lock        DocumentLock        `json:"lock" yaml:"lock"`
}

Document is the API payload based on the legacy xmlrpc backend.

type DocumentLock

type DocumentLock struct {
	Locked int `json:"locked" yaml:"locked"`
	Owner  int `json:"owner" yaml:"owner"`
	Time   int `json:"time" yaml:"time"`
	ReqID  int `json:"req_id" yaml:"req_id"`
}

DocumentLock is the API payload based on the legacy xmlrpc backend.

type DocumentPermissions

type DocumentPermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

DocumentPermissions is the API payload based on the legacy xmlrpc backend.

type EnableDatastoreRequest

type EnableDatastoreRequest struct {
	Enable bool `json:"enable"`
}

EnableDatastoreRequest is the request body for PATCH /datastore/{datastore}/enable.

type EnableDatastoreResponse

type EnableDatastoreResponse struct {
	Datastore int `json:"datastore"`
}

EnableDatastoreResponse is the response body for PATCH /datastore/enable.

type EnableImageRequest

type EnableImageRequest struct {
	Enable bool `json:"enable"`
}

EnableImageRequest is the request body for PATCH /image/{image}/enable.

type EnableImageResponse

type EnableImageResponse struct {
	Image int `json:"image"`
}

EnableImageResponse is the response body for PATCH /image/enable.

type EnableMarketAppRequest

type EnableMarketAppRequest struct {
	Enable bool `json:"enable"`
}

EnableMarketAppRequest is the request body for PATCH /market/app/enable.

type EnableMarketAppResponse

type EnableMarketAppResponse struct {
	Market int `json:"market"`
}

EnableMarketAppResponse is the response body for PATCH /market/app/enable.

type EnableMarketRequest

type EnableMarketRequest struct {
	Enable bool `json:"enable"`
}

EnableMarketRequest is the request body for PATCH /market/{market}/enable.

type EnableMarketResponse

type EnableMarketResponse struct {
	Market int `json:"market"`
}

EnableMarketResponse is the response body for PATCH /market/enable.

type EnableUserRequest

type EnableUserRequest struct {
	Enable bool `json:"enable"`
}

EnableUserRequest is the request body for PATCH /user/{user}/enable.

type EnableUserResponse

type EnableUserResponse struct {
	User int `json:"user"`
}

EnableUserResponse is the response body for PATCH /user/enable.

type EnableZoneRequest

type EnableZoneRequest struct {
	Enable bool `json:"enable"`
}

EnableZoneRequest is the request body for PATCH /zone/{zone}/enable.

type EnableZoneResponse

type EnableZoneResponse struct {
	Zone int `json:"zone"`
}

EnableZoneResponse is the response body for PATCH /zone/enable.

type Filter

type Filter int

Filter is to filter list of object by user and group ownership.

const (
	GroupFilter        Filter = -4 // group
	UserFilter         Filter = -3 // user
	AllFilter          Filter = -2 // all
	UserAndGroupFilter Filter = -1 // user_group
)

Filter type values.

func FilterString

func FilterString(s string) (Filter, error)

FilterString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func FilterValues

func FilterValues() []Filter

FilterValues returns all values of the enum

func (Filter) IsAFilter

func (i Filter) IsAFilter() bool

IsAFilter returns "true" if the value is listed in the enum definition. "false" otherwise

func (Filter) MarshalText

func (i Filter) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface for Filter

func (Filter) String

func (i Filter) String() string

func (*Filter) UnmarshalText

func (i *Filter) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface for Filter

type FlattenImageSnapshotResponse

type FlattenImageSnapshotResponse struct {
	Image int `json:"image"`
}

FlattenImageSnapshotResponse is the response body for PATCH /image/snapshot/flatten.

type Group

type Group struct {
	ID                 int                 `json:"id" yaml:"id"`
	Name               string              `json:"name" yaml:"name"`
	Template           string              `json:"template" yaml:"template"`
	Users              GroupUsers          `json:"users" yaml:"users"`
	Admins             GroupAdmins         `json:"admins" yaml:"admins"`
	DatastoreQuota     GroupDatastoreQuota `json:"datastore_quota" yaml:"datastore_quota"`
	NetworkQuota       GroupNetworkQuota   `json:"network_quota" yaml:"network_quota"`
	VMQuota            GroupVMQuota        `json:"vmquota" yaml:"vmquota"`
	ImageQuota         GroupImageQuota     `json:"image_quota" yaml:"image_quota"`
	DefaultGroupQuotas DefaultGroupQuotas  `json:"default_group_quotas" yaml:"default_group_quotas"`
}

Group is the API payload based on the legacy xmlrpc backend.

type GroupAdmins

type GroupAdmins struct {
	ID []int `json:"id" yaml:"id"`
}

GroupAdmins is the API payload based on the legacy xmlrpc backend.

type GroupAnon1

type GroupAnon1 struct {
	Datastore []GroupAnon2 `json:"datastore" yaml:"datastore"`
}

GroupAnon1 is the API payload based on the legacy xmlrpc backend.

type GroupAnon2

type GroupAnon2 struct {
	ID         string `json:"id" yaml:"id"`
	Images     string `json:"images" yaml:"images"`
	ImagesUsed string `json:"images_used" yaml:"images_used"`
	Size       string `json:"size" yaml:"size"`
	SizeUsed   string `json:"size_used" yaml:"size_used"`
}

GroupAnon2 is the API payload based on the legacy xmlrpc backend.

type GroupAnon3

type GroupAnon3 struct {
	Network []GroupAnon4 `json:"network" yaml:"network"`
}

GroupAnon3 is the API payload based on the legacy xmlrpc backend.

type GroupAnon4

type GroupAnon4 struct {
	ID         string `json:"id" yaml:"id"`
	Leases     string `json:"leases" yaml:"leases"`
	LeasesUsed string `json:"leases_used" yaml:"leases_used"`
}

GroupAnon4 is the API payload based on the legacy xmlrpc backend.

type GroupAnon5

type GroupAnon5 struct {
	VM GroupAnon6 `json:"vm" yaml:"vm"`
}

GroupAnon5 is the API payload based on the legacy xmlrpc backend.

type GroupAnon6

type GroupAnon6 struct {
	CPU                float32 `json:"cpu" yaml:"cpu"`
	CPUUsed            float32 `json:"cpuused" yaml:"cpuused"`
	Memory             int     `json:"memory" yaml:"memory"`
	MemoryUsed         int     `json:"memory_used" yaml:"memory_used"`
	RunningCPU         float32 `json:"running_cpu" yaml:"running_cpu"`
	RunningCPUUsed     float32 `json:"running_cpuused" yaml:"running_cpuused"`
	RunningMemory      int     `json:"running_memory" yaml:"running_memory"`
	RunningMemoryUsed  int     `json:"running_memory_used" yaml:"running_memory_used"`
	RunningVMs         int     `json:"running_vms" yaml:"running_vms"`
	RunningVMsUsed     int     `json:"running_vms_used" yaml:"running_vms_used"`
	SystemDiskSize     int64   `json:"system_disk_size" yaml:"system_disk_size"`
	SystemDiskSizeUsed int64   `json:"system_disk_size_used" yaml:"system_disk_size_used"`
	VMs                int     `json:"vms" yaml:"vms"`
	VMsUsed            int     `json:"vms_used" yaml:"vms_used"`
}

GroupAnon6 is the API payload based on the legacy xmlrpc backend.

type GroupAnon7

type GroupAnon7 struct {
	Image []GroupAnon8 `json:"image" yaml:"image"`
}

GroupAnon7 is the API payload based on the legacy xmlrpc backend.

type GroupAnon8

type GroupAnon8 struct {
	ID       string `json:"id" yaml:"id"`
	Rvms     string `json:"rvms" yaml:"rvms"`
	RvmsUsed string `json:"rvms_used" yaml:"rvms_used"`
}

GroupAnon8 is the API payload based on the legacy xmlrpc backend.

type GroupDatastore

type GroupDatastore struct {
	ID         string `json:"id" yaml:"id"`
	Images     string `json:"images" yaml:"images"`
	ImagesUsed string `json:"images_used" yaml:"images_used"`
	Size       string `json:"size" yaml:"size"`
	SizeUsed   string `json:"size_used" yaml:"size_used"`
}

GroupDatastore is the API payload based on the legacy xmlrpc backend.

type GroupDatastoreQuota

type GroupDatastoreQuota struct {
	Datastore []GroupDatastore `json:"datastore" yaml:"datastore"`
}

GroupDatastoreQuota is the API payload based on the legacy xmlrpc backend.

type GroupImage

type GroupImage struct {
	ID       string `json:"id" yaml:"id"`
	Rvms     string `json:"rvms" yaml:"rvms"`
	RvmsUsed string `json:"rvms_used" yaml:"rvms_used"`
}

GroupImage is the API payload based on the legacy xmlrpc backend.

type GroupImageQuota

type GroupImageQuota struct {
	Image []GroupImage `json:"image" yaml:"image"`
}

GroupImageQuota is the API payload based on the legacy xmlrpc backend.

type GroupNetwork

type GroupNetwork struct {
	ID         string `json:"id" yaml:"id"`
	Leases     string `json:"leases" yaml:"leases"`
	LeasesUsed string `json:"leases_used" yaml:"leases_used"`
}

GroupNetwork is the API payload based on the legacy xmlrpc backend.

type GroupNetworkQuota

type GroupNetworkQuota struct {
	Network []GroupNetwork `json:"network" yaml:"network"`
}

GroupNetworkQuota is the API payload based on the legacy xmlrpc backend.

type GroupUsers

type GroupUsers struct {
	ID []int `json:"id" yaml:"id"`
}

GroupUsers is the API payload based on the legacy xmlrpc backend.

type GroupVM

type GroupVM struct {
	CPU                float32 `json:"cpu" yaml:"cpu"`
	CPUUsed            float32 `json:"cpuused" yaml:"cpuused"`
	Memory             int     `json:"memory" yaml:"memory"`
	MemoryUsed         int     `json:"memory_used" yaml:"memory_used"`
	RunningCPU         float32 `json:"running_cpu" yaml:"running_cpu"`
	RunningCPUUsed     float32 `json:"running_cpuused" yaml:"running_cpuused"`
	RunningMemory      int     `json:"running_memory" yaml:"running_memory"`
	RunningMemoryUsed  int     `json:"running_memory_used" yaml:"running_memory_used"`
	RunningVMs         int     `json:"running_vms" yaml:"running_vms"`
	RunningVMsUsed     int     `json:"running_vms_used" yaml:"running_vms_used"`
	SystemDiskSize     int64   `json:"system_disk_size" yaml:"system_disk_size"`
	SystemDiskSizeUsed int64   `json:"system_disk_size_used" yaml:"system_disk_size_used"`
	VMs                int     `json:"vms" yaml:"vms"`
	VMsUsed            int     `json:"vms_used" yaml:"vms_used"`
}

GroupVM is the API payload based on the legacy xmlrpc backend.

type GroupVMQuota

type GroupVMQuota struct {
	VM GroupVM `json:"vm" yaml:"vm"`
}

GroupVMQuota is the API payload based on the legacy xmlrpc backend.

type HoldVNetRequest

type HoldVNetRequest struct {
	Template string `json:"template"`
}

HoldVNetRequest is the request body for PATCH /vnet/{vnet}/hold.

type HoldVNetResponse

type HoldVNetResponse struct {
	VNet int `json:"vnet"`
}

HoldVNetResponse is the response body for PATCH /vnet/hold.

type Hook

type Hook struct {
	ID       int          `json:"id" yaml:"id"`
	Name     string       `json:"name" yaml:"name"`
	Type     string       `json:"type" yaml:"type"`
	Template HookTemplate `json:"template" yaml:"template"`
	Hooklog  HookLog      `json:"hooklog" yaml:"hooklog"`
}

Hook is the API payload based on the legacy xmlrpc backend.

type HookExecutionRecord

type HookExecutionRecord struct {
	Values          map[string]string   `json:"values" yaml:"values"`
	HookID          int                 `json:"hook_id" yaml:"hook_id"`
	ExecutionID     int                 `json:"execution_id" yaml:"execution_id"`
	Timestamp       int                 `json:"timestamp" yaml:"timestamp"`
	Arguments       string              `json:"arguments" yaml:"arguments"`
	ExecutionResult HookExecutionResult `json:"execution_result" yaml:"execution_result"`
	RemoteHost      string              `json:"remote_host" yaml:"remote_host"`
	Retry           string              `json:"retry" yaml:"retry"`
}

HookExecutionRecord is the API payload based on the legacy xmlrpc backend.

type HookExecutionResult

type HookExecutionResult struct {
	Command string `json:"command" yaml:"command"`
	Stdout  string `json:"stdout" yaml:"stdout"`
	Stderr  string `json:"stderr" yaml:"stderr"`
	Code    string `json:"code" yaml:"code"`
}

HookExecutionResult is the API payload based on the legacy xmlrpc backend.

type HookLog

type HookLog struct {
	HookExecutionRecord []HookExecutionRecord `json:"hook_execution_record" yaml:"hook_execution_record"`
}

HookLog is the API payload based on the legacy xmlrpc backend.

type HookTemplate

type HookTemplate struct {
	Values         map[string]string `json:"values" yaml:"values"`
	Arguments      string            `json:"arguments" yaml:"arguments"`
	ArgumentsStdin string            `json:"arguments_stdin" yaml:"arguments_stdin"`
	Call           string            `json:"call" yaml:"call"`
	Command        string            `json:"command" yaml:"command"`
	Remote         string            `json:"remote" yaml:"remote"`
	Resource       string            `json:"resource" yaml:"resource"`
	State          string            `json:"state" yaml:"state"`
	LcmState       string            `json:"lcm_state" yaml:"lcm_state"`
}

HookTemplate is the API payload based on the legacy xmlrpc backend.

type Host

type Host struct {
	ID         int            `json:"id" yaml:"id"`
	Name       string         `json:"name" yaml:"name"`
	State      int            `json:"state" yaml:"state"`
	PrevState  int            `json:"prev_state" yaml:"prev_state"`
	ImMAD      string         `json:"im_mad" yaml:"im_mad"`
	VMMAD      string         `json:"vmmad" yaml:"vmmad"`
	ClusterID  int            `json:"cluster_id" yaml:"cluster_id"`
	Cluster    string         `json:"cluster" yaml:"cluster"`
	HostShare  HostShare      `json:"host_share" yaml:"host_share"`
	VMs        HostVMs        `json:"vms" yaml:"vms"`
	Template   HostTemplate   `json:"template" yaml:"template"`
	Monitoring HostMonitoring `json:"monitoring" yaml:"monitoring"`
}

Host is the API payload based on the legacy xmlrpc backend.

type HostCapacity

type HostCapacity struct {
	FreeCPU    int `json:"free_cpu" yaml:"free_cpu"`
	FreeMemory int `json:"free_memory" yaml:"free_memory"`
	UsedCPU    int `json:"used_cpu" yaml:"used_cpu"`
	UsedMemory int `json:"used_memory" yaml:"used_memory"`
}

HostCapacity is the API payload based on the legacy xmlrpc backend.

type HostCore

type HostCore struct {
	Cpus      string `json:"cpus" yaml:"cpus"`
	Dedicated string `json:"dedicated" yaml:"dedicated"`
	Free      int    `json:"free" yaml:"free"`
	ID        int    `json:"id" yaml:"id"`
}

HostCore is the API payload based on the legacy xmlrpc backend.

type HostDatastores

type HostDatastores struct {
	DiskUsage int `json:"disk_usage" yaml:"disk_usage"`
	FreeDisk  int `json:"free_disk" yaml:"free_disk"`
	MaxDisk   int `json:"max_disk" yaml:"max_disk"`
	UsedDisk  int `json:"used_disk" yaml:"used_disk"`
}

HostDatastores is the API payload based on the legacy xmlrpc backend.

type HostHugepage

type HostHugepage struct {
	Free  int `json:"free" yaml:"free"`
	Pages int `json:"pages" yaml:"pages"`
	Size  int `json:"size" yaml:"size"`
	Usage int `json:"usage" yaml:"usage"`
}

HostHugepage is the API payload based on the legacy xmlrpc backend.

type HostMemory

type HostMemory struct {
	Distance string `json:"distance" yaml:"distance"`
	Free     int    `json:"free" yaml:"free"`
	Total    int    `json:"total" yaml:"total"`
	Usage    int    `json:"usage" yaml:"usage"`
	Used     int    `json:"used" yaml:"used"`
}

HostMemory is the API payload based on the legacy xmlrpc backend.

type HostMonitoring

type HostMonitoring struct {
	Timestamp int          `json:"timestamp" yaml:"timestamp"`
	ID        int          `json:"id" yaml:"id"`
	Capacity  HostCapacity `json:"capacity" yaml:"capacity"`
	System    HostSystem   `json:"system" yaml:"system"`
}

HostMonitoring is the API payload based on the legacy xmlrpc backend.

type HostNode

type HostNode struct {
	Core     []HostCore     `json:"core" yaml:"core"`
	Hugepage []HostHugepage `json:"hugepage" yaml:"hugepage"`
	Memory   HostMemory     `json:"memory" yaml:"memory"`
	NodeID   int            `json:"node_id" yaml:"node_id"`
}

HostNode is the API payload based on the legacy xmlrpc backend.

type HostNumaNodes

type HostNumaNodes struct {
	Node []HostNode `json:"node" yaml:"node"`
}

HostNumaNodes is the API payload based on the legacy xmlrpc backend.

type HostPCI

type HostPCI struct {
	Address      string `json:"address" yaml:"address"`
	Bus          string `json:"bus" yaml:"bus"`
	Class        string `json:"class" yaml:"class"`
	ClassName    string `json:"class_name" yaml:"class_name"`
	Device       string `json:"device" yaml:"device"`
	DeviceName   string `json:"device_name" yaml:"device_name"`
	Domain       string `json:"domain" yaml:"domain"`
	Function     string `json:"function" yaml:"function"`
	NumaNode     string `json:"numa_node" yaml:"numa_node"`
	ShortAddress string `json:"short_address" yaml:"short_address"`
	Slot         string `json:"slot" yaml:"slot"`
	Type         string `json:"type" yaml:"type"`
	Vendor       string `json:"vendor" yaml:"vendor"`
	VendorName   string `json:"vendor_name" yaml:"vendor_name"`
	VMID         int    `json:"vmid" yaml:"vmid"`
}

HostPCI is the API payload based on the legacy xmlrpc backend.

type HostPCIDevices

type HostPCIDevices struct {
	PCI []HostPCI `json:"pci" yaml:"pci"`
}

HostPCIDevices is the API payload based on the legacy xmlrpc backend.

type HostShare

type HostShare struct {
	MemUsage   int            `json:"mem_usage" yaml:"mem_usage"`
	CPUUsage   int            `json:"cpuusage" yaml:"cpuusage"`
	TotalMem   int            `json:"total_mem" yaml:"total_mem"`
	TotalCPU   int            `json:"total_cpu" yaml:"total_cpu"`
	MaxMem     int            `json:"max_mem" yaml:"max_mem"`
	MaxCPU     int            `json:"max_cpu" yaml:"max_cpu"`
	RunningVMs int            `json:"running_vms" yaml:"running_vms"`
	VMsThread  int            `json:"vms_thread" yaml:"vms_thread"`
	Datastores HostDatastores `json:"datastores" yaml:"datastores"`
	PCIDevices HostPCIDevices `json:"pcidevices" yaml:"pcidevices"`
	NumaNodes  HostNumaNodes  `json:"numa_nodes" yaml:"numa_nodes"`
}

HostShare is the API payload based on the legacy xmlrpc backend.

type HostSystem

type HostSystem struct {
	Netrx int `json:"netrx" yaml:"netrx"`
	Nettx int `json:"nettx" yaml:"nettx"`
}

HostSystem is the API payload based on the legacy xmlrpc backend.

type HostTemplate

type HostTemplate struct {
	Values                  map[string]string `json:"values" yaml:"values"`
	VCenterCCRRef           string            `json:"vcenter_ccrref" yaml:"vcenter_ccrref"`
	VCenterDSRef            []string          `json:"vcenter_dsref" yaml:"vcenter_dsref"`
	VCenterHost             string            `json:"vcenter_host" yaml:"vcenter_host"`
	VCenterInstanceID       string            `json:"vcenter_instance_id" yaml:"vcenter_instance_id"`
	VCenterName             string            `json:"vcenter_name" yaml:"vcenter_name"`
	VCenterPassword         string            `json:"vcenter_password" yaml:"vcenter_password"`
	VCenterResourcePoolInfo []string          `json:"vcenter_resource_pool_info" yaml:"vcenter_resource_pool_info"`
	VCenterUser             string            `json:"vcenter_user" yaml:"vcenter_user"`
	VCenterVersion          string            `json:"vcenter_version" yaml:"vcenter_version"`
}

HostTemplate is the API payload based on the legacy xmlrpc backend.

type HostVMs

type HostVMs struct {
	ID []int `json:"id" yaml:"id"`
}

HostVMs is the API payload based on the legacy xmlrpc backend.

type HyperCloudConfiguration

type HyperCloudConfiguration struct {
	APIListOrder                     []string                     `json:"api_list_order" yaml:"api_list_order"`
	AuthMAD                          []ConfigAuthMAD              `json:"auth_mad" yaml:"auth_mad"`
	AuthMADConf                      []ConfigAuthMADConf          `json:"auth_madconf" yaml:"auth_madconf"`
	ClusterEncryptedAttr             []string                     `json:"cluster_encrypted_attr" yaml:"cluster_encrypted_attr"`
	DatastoreCapacityCheck           []string                     `json:"datastore_capacity_check" yaml:"datastore_capacity_check"`
	DatastoreEncryptedAttr           []string                     `json:"datastore_encrypted_attr" yaml:"datastore_encrypted_attr"`
	DatastoreLocation                []string                     `json:"datastore_location" yaml:"datastore_location"`
	DatastoreMAD                     []ConfigDatastoreMAD         `json:"datastore_mad" yaml:"datastore_mad"`
	DB                               ConfigDB                     `json:"db" yaml:"db"`
	DefaultAuth                      []string                     `json:"default_auth" yaml:"default_auth"`
	DefaultCdromDevicePrefix         []string                     `json:"default_cdrom_device_prefix" yaml:"default_cdrom_device_prefix"`
	DefaultCost                      []ConfigDefaultCost          `json:"default_cost" yaml:"default_cost"`
	DefaultDevicePrefix              []string                     `json:"default_device_prefix" yaml:"default_device_prefix"`
	DefaultImagePersistent           []string                     `json:"default_image_persistent" yaml:"default_image_persistent"`
	DefaultImagePersistentNew        []string                     `json:"default_image_persistent_new" yaml:"default_image_persistent_new"`
	DefaultImageType                 []string                     `json:"default_image_type" yaml:"default_image_type"`
	DefaultUmask                     []string                     `json:"default_umask" yaml:"default_umask"`
	DefaultVDCClusterDatastoreACL    []string                     `json:"default_vdccluster_datastore_acl" yaml:"default_vdccluster_datastore_acl"`
	DefaultVDCClusterHostACL         []string                     `json:"default_vdccluster_host_acl" yaml:"default_vdccluster_host_acl"`
	DefaultVDCClusterNetACL          []string                     `json:"default_vdccluster_net_acl" yaml:"default_vdccluster_net_acl"`
	DefaultVDCDatastoreACL           []string                     `json:"default_vdcdatastore_acl" yaml:"default_vdcdatastore_acl"`
	DefaultVDCHostACL                []string                     `json:"default_vdchost_acl" yaml:"default_vdchost_acl"`
	DefaultVDCVnetACL                []string                     `json:"default_vdcvnet_acl" yaml:"default_vdcvnet_acl"`
	DocumentEncryptedAttr            []string                     `json:"document_encrypted_attr" yaml:"document_encrypted_attr"`
	DSMADConf                        []ConfigDSMADConf            `json:"dsmadconf" yaml:"dsmadconf"`
	DSMonitorInstanceDisk            int                          `json:"dsmonitor_instance_disk" yaml:"dsmonitor_instance_disk"`
	EnableOtherPermissions           ConfigEnableOtherPermissions `json:"enable_other_permissions" yaml:"enable_other_permissions"`
	Federation                       ConfigFederation             `json:"federation" yaml:"federation"`
	GroupRestrictedAttr              []string                     `json:"group_restricted_attr" yaml:"group_restricted_attr"`
	HmMAD                            ConfigHmMAD                  `json:"hm_mad" yaml:"hm_mad"`
	HookLogConf                      ConfigHookLogConf            `json:"hook_log_conf" yaml:"hook_log_conf"`
	HostEncryptedAttr                []string                     `json:"host_encrypted_attr" yaml:"host_encrypted_attr"`
	ImageEncryptedAttr               []string                     `json:"image_encrypted_attr" yaml:"image_encrypted_attr"`
	ImageRestrictedAttr              []string                     `json:"image_restricted_attr" yaml:"image_restricted_attr"`
	ImMAD                            []ConfigImMAD                `json:"im_mad" yaml:"im_mad"`
	InheritDatastoreAttr             []string                     `json:"inherit_datastore_attr" yaml:"inherit_datastore_attr"`
	InheritImageAttr                 []string                     `json:"inherit_image_attr" yaml:"inherit_image_attr"`
	InheritVnetAttr                  []string                     `json:"inherit_vnet_attr" yaml:"inherit_vnet_attr"`
	IpamMAD                          []ConfigIpamMAD              `json:"ipam_mad" yaml:"ipam_mad"`
	KeepaliveMaxConn                 []int                        `json:"keepalive_max_conn" yaml:"keepalive_max_conn"`
	KeepaliveTimeout                 []int                        `json:"keepalive_timeout" yaml:"keepalive_timeout"`
	ListenAddress                    []string                     `json:"listen_address" yaml:"listen_address"`
	Log                              []ConfigLog                  `json:"log" yaml:"log"`
	LogCallFormat                    []string                     `json:"log_call_format" yaml:"log_call_format"`
	MACPrefix                        []string                     `json:"macprefix" yaml:"macprefix"`
	ManagerTimer                     []int                        `json:"manager_timer" yaml:"manager_timer"`
	MarketMAD                        []ConfigMarketMAD            `json:"market_mad" yaml:"market_mad"`
	MarketMADConf                    []ConfigMarketMADConf        `json:"market_madconf" yaml:"market_madconf"`
	MaxConn                          int                          `json:"max_conn" yaml:"max_conn"`
	MaxConnBacklog                   int                          `json:"max_conn_backlog" yaml:"max_conn_backlog"`
	MessageSize                      int                          `json:"message_size" yaml:"message_size"`
	MonitoringIntervalDatastore      int                          `json:"monitoring_interval_datastore" yaml:"monitoring_interval_datastore"`
	MonitoringIntervalDBUpdate       int                          `json:"monitoring_interval_dbupdate" yaml:"monitoring_interval_dbupdate"`
	MonitoringIntervalHost           int                          `json:"monitoring_interval_host" yaml:"monitoring_interval_host"`
	MonitoringIntervalMarket         int                          `json:"monitoring_interval_market" yaml:"monitoring_interval_market"`
	MonitoringIntervalInstance       int                          `json:"monitoring_interval_instance" yaml:"monitoring_interval_instance"`
	NetworkSize                      int                          `json:"network_size" yaml:"network_size"`
	Key                              []string                     `json:"one_key" yaml:"one_key"`
	PCIPassthroughBus                string                       `json:"pcipassthrough_bus" yaml:"pcipassthrough_bus"`
	Port                             int                          `json:"port" yaml:"port"`
	Raft                             ConfigRaft                   `json:"raft" yaml:"raft"`
	RPCLog                           string                       `json:"rpclog" yaml:"rpclog"`
	ScriptsRemoteDir                 string                       `json:"scripts_remote_dir" yaml:"scripts_remote_dir"`
	SessionExpirationTime            int                          `json:"session_expiration_time" yaml:"session_expiration_time"`
	ShowbackOnlyRunning              string                       `json:"showback_only_running" yaml:"showback_only_running"`
	Timeout                          int                          `json:"timeout" yaml:"timeout"`
	TmMAD                            []ConfigTmMAD                `json:"tm_mad" yaml:"tm_mad"`
	TmMADConf                        []ConfigTmMADConf            `json:"tm_madconf" yaml:"tm_madconf"`
	UserEncryptedAttr                []string                     `json:"user_encrypted_attr" yaml:"user_encrypted_attr"`
	UserRestrictedAttr               []string                     `json:"user_restricted_attr" yaml:"user_restricted_attr"`
	VLANIDs                          ConfigVLANIDs                `json:"vlanids" yaml:"vlanids"`
	InstanceAdminOperations          string                       `json:"instance_admin_operations" yaml:"instance_admin_operations"`
	InstanceEncryptedAttr            []string                     `json:"instance_encrypted_attr" yaml:"instance_encrypted_attr"`
	InstanceMAD                      []ConfigInstanceMAD          `json:"instance_mad" yaml:"instance_mad"`
	InstanceManageOperations         string                       `json:"instance_manage_operations" yaml:"instance_manage_operations"`
	InstanceMonitoringExpirationTime []string                     `json:"instance_monitoring_expiration_time" yaml:"instance_monitoring_expiration_time"`
	InstanceRestrictedAttr           []string                     `json:"instance_restricted_attr" yaml:"instance_restricted_attr"`
	InstanceSnapshotFactor           string                       `json:"instance_snapshot_factor" yaml:"instance_snapshot_factor"`
	InstanceSubmitOnHold             ConfigInstanceSubmitOnHold   `json:"instance_submit_on_hold" yaml:"instance_submit_on_hold"`
	InstanceUseOperations            []string                     `json:"instance_use_operations" yaml:"instance_use_operations"`
	VNCPorts                         ConfigVNCPorts               `json:"vncports" yaml:"vncports"`
	VNetEncryptedAttr                []string                     `json:"vnet_encrypted_attr" yaml:"vnet_encrypted_attr"`
	VNetRestrictedAttr               []string                     `json:"vnet_restricted_attr" yaml:"vnet_restricted_attr"`
	VNMADConf                        []ConfigVNMADConf            `json:"vnmadconf" yaml:"vnmadconf"`
	VxlanIDs                         ConfigVxlanIDs               `json:"vxlan_ids" yaml:"vxlan_ids"`
}

HyperCloudConfiguration is the API payload based on the legacy xmlrpc backend.

type Image

type Image struct {
	ID             int              `json:"id" yaml:"id"`
	UID            int              `json:"uid" yaml:"uid"`
	GID            int              `json:"gid" yaml:"gid"`
	Uname          string           `json:"uname" yaml:"uname"`
	Gname          string           `json:"gname" yaml:"gname"`
	Name           string           `json:"name" yaml:"name"`
	Lock           ImageLock        `json:"lock" yaml:"lock"`
	Permissions    ImagePermissions `json:"permissions" yaml:"permissions"`
	Type           int              `json:"type" yaml:"type"`
	DiskType       int              `json:"disk_type" yaml:"disk_type"`
	Persistent     int              `json:"persistent" yaml:"persistent"`
	Regtime        int              `json:"regtime" yaml:"regtime"`
	Source         string           `json:"source" yaml:"source"`
	Path           string           `json:"path" yaml:"path"`
	Format         string           `json:"format" yaml:"format"`
	FS             string           `json:"fs" yaml:"fs"`
	Size           int              `json:"size" yaml:"size"`
	State          int              `json:"state" yaml:"state"`
	PrevState      int              `json:"prev_state" yaml:"prev_state"`
	RunningVMs     int              `json:"running_vms" yaml:"running_vms"`
	CloningOps     int              `json:"cloning_ops" yaml:"cloning_ops"`
	CloningID      int              `json:"cloning_id" yaml:"cloning_id"`
	TargetSnapshot int              `json:"target_snapshot" yaml:"target_snapshot"`
	DatastoreID    int              `json:"datastore_id" yaml:"datastore_id"`
	Datastore      string           `json:"datastore" yaml:"datastore"`
	VMs            ImageVMs         `json:"vms" yaml:"vms"`
	Clones         ImageClones      `json:"clones" yaml:"clones"`
	AppClones      ImageAppClones   `json:"app_clones" yaml:"app_clones"`
	Template       ImageTemplate    `json:"template" yaml:"template"`
	Snapshots      ImageSnapshots   `json:"snapshots" yaml:"snapshots"`
}

Image is the API payload based on the legacy xmlrpc backend.

type ImageAppClones

type ImageAppClones struct {
	ID []int `json:"id" yaml:"id"`
}

ImageAppClones is the API payload based on the legacy xmlrpc backend.

type ImageClones

type ImageClones struct {
	ID []int `json:"id" yaml:"id"`
}

ImageClones is the API payload based on the legacy xmlrpc backend.

type ImageLock

type ImageLock struct {
	Locked int `json:"locked" yaml:"locked"`
	Owner  int `json:"owner" yaml:"owner"`
	Time   int `json:"time" yaml:"time"`
	ReqID  int `json:"req_id" yaml:"req_id"`
}

ImageLock is the API payload based on the legacy xmlrpc backend.

type ImagePermissions

type ImagePermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

ImagePermissions is the API payload based on the legacy xmlrpc backend.

type ImageSnapshot

type ImageSnapshot struct {
	Children string `json:"children" yaml:"children"`
	Active   string `json:"active" yaml:"active"`
	Date     int    `json:"date" yaml:"date"`
	ID       int    `json:"id" yaml:"id"`
	Name     string `json:"name" yaml:"name"`
	Parent   int    `json:"parent" yaml:"parent"`
	Size     int    `json:"size" yaml:"size"`
}

ImageSnapshot is the API payload based on the legacy xmlrpc backend.

type ImageSnapshots

type ImageSnapshots struct {
	AllowOrphans string          `json:"allow_orphans" yaml:"allow_orphans"`
	CurrentBase  int             `json:"current_base" yaml:"current_base"`
	NextSnapshot string          `json:"next_snapshot" yaml:"next_snapshot"`
	Snapshot     []ImageSnapshot `json:"snapshot" yaml:"snapshot"`
}

ImageSnapshots is the API payload based on the legacy xmlrpc backend.

type ImageTemplate

type ImageTemplate struct {
	Values          map[string]string `json:"values" yaml:"values"`
	VCenterImported string            `json:"vcenter_imported" yaml:"vcenter_imported"`
}

ImageTemplate is the API payload based on the legacy xmlrpc backend.

type ImageType

type ImageType int

ImageType is the type of image.

const (
	OS ImageType
	CDROM
	DataBlock
	Kernel
	RAMDisk
	Context
)

ImageType values.

func ImageTypeString

func ImageTypeString(s string) (ImageType, error)

ImageTypeString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func ImageTypeValues

func ImageTypeValues() []ImageType

ImageTypeValues returns all values of the enum

func (ImageType) IsAImageType

func (i ImageType) IsAImageType() bool

IsAImageType returns "true" if the value is listed in the enum definition. "false" otherwise

func (ImageType) MarshalText

func (i ImageType) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface for ImageType

func (ImageType) String

func (i ImageType) String() string

func (*ImageType) UnmarshalText

func (i *ImageType) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface for ImageType

type ImageVMs

type ImageVMs struct {
	ID []int `json:"id" yaml:"id"`
}

ImageVMs is the API payload based on the legacy xmlrpc backend.

type Instance

type Instance struct {
	ID             int                    `json:"id" yaml:"id"`
	UID            int                    `json:"uid" yaml:"uid"`
	GID            int                    `json:"gid" yaml:"gid"`
	UserName       string                 `json:"user_name" yaml:"user_name"`
	GroupName      string                 `json:"group_name" yaml:"group_name"`
	Name           string                 `json:"name" yaml:"name"`
	Permissions    InstancePermissions    `json:"permissions" yaml:"permissions"`
	LastPoll       int                    `json:"last_poll" yaml:"last_poll"`
	State          InstanceState          `json:"state" yaml:"state"`
	LCMState       LCMState               `json:"lcm_state" yaml:"lcm_state"`
	PrevState      InstanceState          `json:"prev_state" yaml:"prev_state"`
	PrevLcmState   LCMState               `json:"prev_lcm_state" yaml:"prev_lcm_state"`
	Resched        int                    `json:"resched" yaml:"resched"`
	StartTime      time.Time              `json:"start_time" yaml:"start_time"`
	EndTime        time.Time              `json:"end_time" yaml:"end_time"`
	DeployID       string                 `json:"deploy_id" yaml:"deploy_id"`
	Lock           InstanceLock           `json:"lock" yaml:"lock"`
	Monitoring     InstanceMonitoring     `json:"monitoring" yaml:"monitoring"`
	Template       InstanceTemplateData   `json:"template" yaml:"template"`
	UserTemplate   InstanceUserTemplate   `json:"user_template" yaml:"user_template"`
	HistoryRecords InstanceHistoryRecords `json:"history_records" yaml:"history_records"`
	Snapshots      []InstanceSnapshots    `json:"snapshots" yaml:"snapshots"`
}

Instance is the API payload based on the legacy xmlrpc backend.

type InstanceAction

type InstanceAction int

InstanceAction is the action to perform on an intstance.

const (
	HoldAction          InstanceAction // hold
	PowerOffAction                     // poweroff
	PowerOffHardAction                 // poweroff-hard
	RebootAction                       // reboot
	RebootHardAction                   // reboot-hard
	ReleaseAction                      // release
	RescheduleAction                   // resched
	ResumeAction                       // resume
	StopAction                         // stop
	SuspendAction                      // suspend
	TerminateAction                    // terminate
	TerminatehardAction                // teminate-hard
	UnRescheduleAction                 // unresched
	UndeployAction                     // undeploy
	UndeployHardAction                 // undeploy-hard
)

InstanceAction values.

func InstanceActionString

func InstanceActionString(s string) (InstanceAction, error)

InstanceActionString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func InstanceActionValues

func InstanceActionValues() []InstanceAction

InstanceActionValues returns all values of the enum

func (InstanceAction) IsAInstanceAction

func (i InstanceAction) IsAInstanceAction() bool

IsAInstanceAction returns "true" if the value is listed in the enum definition. "false" otherwise

func (InstanceAction) MarshalText

func (i InstanceAction) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface for InstanceAction

func (InstanceAction) String

func (i InstanceAction) String() string

func (*InstanceAction) UnmarshalText

func (i *InstanceAction) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface for InstanceAction

type InstanceAnon

type InstanceAnon struct {
	Active   string `json:"active" yaml:"active"`
	Children string `json:"children" yaml:"children"`
	Date     int    `json:"date" yaml:"date"`
	ID       int    `json:"id" yaml:"id"`
	Name     string `json:"name" yaml:"name"`
	Parent   int    `json:"parent" yaml:"parent"`
	Size     int    `json:"size" yaml:"size"`
}

InstanceAnon is the API payload based on the legacy xmlrpc backend.

type InstanceDisk

type InstanceDisk struct {
	Values                map[string]string `json:"values" yaml:"values"`
	AllowOrphans          string            `json:"allow_orphans" yaml:"allow_orphans"`
	Clone                 bool              `json:"clone" yaml:"clone"`
	CloneTarget           string            `json:"clone_target" yaml:"clone_target"`
	ClusterID             string            `json:"cluster_id" yaml:"cluster_id"`
	Datastore             string            `json:"datastore" yaml:"datastore"`
	DatastoreID           string            `json:"datastore_id" yaml:"datastore_id"`
	DevPrefix             string            `json:"dev_prefix" yaml:"dev_prefix"`
	DiskID                string            `json:"disk_id" yaml:"disk_id"`
	DiskSnapshotTotalSize string            `json:"disk_snapshot_total_size" yaml:"disk_snapshot_total_size"`
	DiskType              string            `json:"disk_type" yaml:"disk_type"`
	Driver                string            `json:"driver" yaml:"driver"`
	Image                 string            `json:"image" yaml:"image"`
	ImageID               string            `json:"image_id" yaml:"image_id"`
	ImageState            string            `json:"image_state" yaml:"image_state"`
	LnTarget              string            `json:"ln_target" yaml:"ln_target"`
	OriginalSize          string            `json:"original_size" yaml:"original_size"`
	PoolName              string            `json:"pool_name" yaml:"pool_name"`
	Readonly              bool              `json:"readonly" yaml:"readonly"`
	Save                  bool              `json:"save" yaml:"save"`
	Size                  string            `json:"size" yaml:"size"`
	Source                string            `json:"source" yaml:"source"`
	Target                string            `json:"target" yaml:"target"`
	TmMAD                 string            `json:"tm_mad" yaml:"tm_mad"`
	TmMADSystem           string            `json:"tm_madsystem" yaml:"tm_madsystem"`
	Type                  string            `json:"type" yaml:"type"`
	VCenterDSRef          string            `json:"vcenter_dsref" yaml:"vcenter_dsref"`
	VCenterInstanceID     string            `json:"vcenter_instance_id" yaml:"vcenter_instance_id"`
}

InstanceDisk is the API payload based on the legacy xmlrpc backend.

type InstanceDiskSize

type InstanceDiskSize struct {
	ID   int `json:"id" yaml:"id"`
	Size int `json:"size" yaml:"size"`
}

InstanceDiskSize is the API payload based on the legacy xmlrpc backend.

type InstanceGroup

type InstanceGroup struct {
	ID          int                      `json:"id" yaml:"id"`
	UID         int                      `json:"uid" yaml:"uid"`
	GID         int                      `json:"gid" yaml:"gid"`
	Uname       string                   `json:"uname" yaml:"uname"`
	Gname       string                   `json:"gname" yaml:"gname"`
	Name        string                   `json:"name" yaml:"name"`
	Permissions InstanceGroupPermissions `json:"permissions" yaml:"permissions"`
	Lock        InstanceGroupLock        `json:"lock" yaml:"lock"`
	Roles       InstanceGroupRoles       `json:"roles" yaml:"roles"`
}

InstanceGroup is the API payload based on the legacy xmlrpc backend.

type InstanceGroupLock

type InstanceGroupLock struct {
	Locked int `json:"locked" yaml:"locked"`
	Owner  int `json:"owner" yaml:"owner"`
	Time   int `json:"time" yaml:"time"`
	ReqID  int `json:"req_id" yaml:"req_id"`
}

InstanceGroupLock is the API payload based on the legacy xmlrpc backend.

type InstanceGroupPermissions

type InstanceGroupPermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

InstanceGroupPermissions is the API payload based on the legacy xmlrpc backend.

type InstanceGroupRole

type InstanceGroupRole struct {
	HostAffined     string `json:"host_affined" yaml:"host_affined"`
	HostAntiAffined string `json:"host_anti_affined" yaml:"host_anti_affined"`
	ID              int    `json:"id" yaml:"id"`
	Name            string `json:"name" yaml:"name"`
	Policy          string `json:"policy" yaml:"policy"`
}

InstanceGroupRole is the API payload based on the legacy xmlrpc backend.

type InstanceGroupRoles

type InstanceGroupRoles struct {
	Role []InstanceGroupRole `json:"role" yaml:"role"`
}

InstanceGroupRoles is the API payload based on the legacy xmlrpc backend.

type InstanceHistory

type InstanceHistory struct {
	OID              int       `json:"oid" yaml:"oid"`
	SequenceNumber   int       `json:"sequence_number" yaml:"sequence_number"`
	Hostname         string    `json:"hostname" yaml:"hostname"`
	HID              int       `json:"hid" yaml:"hid"`
	CID              int       `json:"cid" yaml:"cid"`
	StartTime        time.Time `json:"start_time" yaml:"start_time"`
	EndTime          time.Time `json:"end_time" yaml:"end_time"`
	InstanceMAD      string    `json:"instance_mad" yaml:"instance_mad"`
	TmMAD            string    `json:"tm_mad" yaml:"tm_mad"`
	DSID             int       `json:"dsid" yaml:"dsid"`
	PrologStartTime  time.Time `json:"prolog_start_time,omitempty" yaml:"prolog_start_time"`
	PrologEndtime    time.Time `json:"prolog_end_time" yaml:"prolog_end_time"`
	RunningStartTime time.Time `json:"running_start_time" yaml:"running_start_time"`
	RunningEndTime   time.Time `json:"running_end_time" yaml:"running_end_time"`
	EpilogStartTime  time.Time `json:"epilog_start_time" yaml:"epilog_start_time"`
	EpilogEndTime    time.Time `json:"epilog_end_time" yaml:"epilog_end_time"`
	Action           int       `json:"action" yaml:"action"`
	UID              int       `json:"uid" yaml:"uid"`
	GID              int       `json:"gid" yaml:"gid"`
	RequestID        string    `json:"request_id" yaml:"request_id"`
}

InstanceHistory is the API payload based on the legacy xmlrpc backend.

type InstanceHistoryRecords

type InstanceHistoryRecords struct {
	History []InstanceHistory `json:"history" yaml:"history"`
}

InstanceHistoryRecords is the API payload based on the legacy xmlrpc backend.

type InstanceLock

type InstanceLock struct {
	Locked int `json:"locked" yaml:"locked"`
	Owner  int `json:"owner" yaml:"owner"`
	Time   int `json:"time" yaml:"time"`
	ReqID  int `json:"req_id" yaml:"req_id"`
}

InstanceLock is the API payload based on the legacy xmlrpc backend.

type InstanceMonitoring

type InstanceMonitoring struct {
	CPU                             float64            `json:"cpu" yaml:"cpu"`
	DiskReadBytes                   int                `json:"disk_read_bytes" yaml:"disk_read_bytes"`
	DiskReadIOps                    int                `json:"disk_read_iops" yaml:"disk_read_iops"`
	DiskWriteBytes                  int                `json:"disk_write_bytes" yaml:"disk_write_bytes"`
	DiskWriteIOps                   int                `json:"disk_write_iops" yaml:"disk_write_iops"`
	DiskSize                        []InstanceDiskSize `json:"disk_size" yaml:"disk_size"`
	ID                              int                `json:"id" yaml:"id"`
	Memory                          int                `json:"memory" yaml:"memory"`
	NetRX                           int                `json:"netrx" yaml:"netrx"`
	NetTX                           int                `json:"nettx" yaml:"nettx"`
	Timestamp                       int                `json:"timestamp" yaml:"timestamp"`
	VCenterESXHost                  string             `json:"vcenter_esxhost" yaml:"vcenter_esxhost"`
	VCenterGuestState               string             `json:"vcenter_guest_state" yaml:"vcenter_guest_state"`
	VCenterRPName                   string             `json:"vcenter_rpname" yaml:"vcenter_rpname"`
	VCenterVMWareToolsRunningStatus string             `json:"vcenter_vmware_tools_running_status" yaml:"vcenter_vmware_tools_running_status"`
	VCenterVMWareToolsVersion       string             `json:"vcenter_vmware_tools_version" yaml:"vcenter_vmware_tools_version"`
	VCenterVMWareToolsVersionStatus string             `json:"vcenter_vmware_tools_version_status" yaml:"vcenter_vmware_tools_version_status"`
	VCenterVMName                   string             `json:"vcenter_vmname" yaml:"vcenter_vmname"`
}

InstanceMonitoring is the API payload based on the legacy xmlrpc backend.

type InstanceNIC

type InstanceNIC struct {
	Values               map[string]string `json:"values" yaml:"values"`
	VCenterInstanceID    string            `json:"vcenter_instance_id" yaml:"vcenter_instance_id"`
	VCenterNetRef        string            `json:"vcenter_net_ref" yaml:"vcenter_net_ref"`
	VCenterPortgroupType string            `json:"vcenter_portgroup_type" yaml:"vcenter_portgroup_type"`
}

InstanceNIC is the API payload based on the legacy xmlrpc backend.

type InstanceNICAlias

type InstanceNICAlias struct {
	Values               map[string]string `json:"values" yaml:"values"`
	AliasID              string            `json:"alias_id" yaml:"alias_id"`
	Parent               string            `json:"parent" yaml:"parent"`
	ParentID             string            `json:"parent_id" yaml:"parent_id"`
	VCenterInstanceID    string            `json:"vcenter_instance_id" yaml:"vcenter_instance_id"`
	VCenterNetRef        string            `json:"vcenter_net_ref" yaml:"vcenter_net_ref"`
	VCenterPortgroupType string            `json:"vcenter_portgroup_type" yaml:"vcenter_portgroup_type"`
}

InstanceNICAlias is the API payload based on the legacy xmlrpc backend.

type InstancePermissions

type InstancePermissions struct {
	OwnerUse    bool `json:"owner_use,omitempty" yaml:"owner_use,omitempty"`
	OwnerManage bool `json:"owner_manage,omitempty" yaml:"owner_manage,omitempty"`
	OwnerAdmin  bool `json:"owner_admin,omitempty" yaml:"owner_admin,omitempty"`
	GroupUse    bool `json:"group_use,omitempty" yaml:"group_use,omitempty"`
	GroupManage bool `json:"group_manage,omitempty" yaml:"group_manage,omitempty"`
	GroupAdmin  bool `json:"group_admin,omitempty" yaml:"group_admin,omitempty"`
	OtherUse    bool `json:"other_use,omitempty" yaml:"other_use,omitempty"`
	OtherManage bool `json:"other_manage,omitempty" yaml:"other_manage,omitempty"`
	OtherAdmin  bool `json:"other_admin,omitempty" yaml:"other_admin,omitempty"`
}

InstancePermissions is the API payload based on the legacy xmlrpc backend.

type InstanceRecovery

type InstanceRecovery int

InstanceRecovery is the recovery action to take when an instance is in error.

const (
	FailureRecovery        InstanceRecovery = iota // failure
	SuccessRecovery                                // success
	RetryRecovery                                  // retry
	DeleteRecovery                                 // delete
	DeleteRecreateRecovery                         // delete_recreate
	DeleteDBVNRecovery                             // delete_dbvn
)

InstanceRecovery values.

func InstanceRecoveryString

func InstanceRecoveryString(s string) (InstanceRecovery, error)

InstanceRecoveryString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func InstanceRecoveryValues

func InstanceRecoveryValues() []InstanceRecovery

InstanceRecoveryValues returns all values of the enum

func (InstanceRecovery) IsAInstanceRecovery

func (i InstanceRecovery) IsAInstanceRecovery() bool

IsAInstanceRecovery returns "true" if the value is listed in the enum definition. "false" otherwise

func (InstanceRecovery) MarshalText

func (i InstanceRecovery) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface for InstanceRecovery

func (InstanceRecovery) String

func (i InstanceRecovery) String() string

func (*InstanceRecovery) UnmarshalText

func (i *InstanceRecovery) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface for InstanceRecovery

type InstanceSchedAction

type InstanceSchedAction struct {
	Action   string `json:"action" yaml:"action"`
	Args     string `json:"args" yaml:"args"`
	Days     string `json:"days" yaml:"days"`
	EndType  string `json:"end_type" yaml:"end_type"`
	EndValue string `json:"end_value" yaml:"end_value"`
	ID       string `json:"id" yaml:"id"`
	Repeat   string `json:"repeat" yaml:"repeat"`
	Time     string `json:"time" yaml:"time"`
	Warning  string `json:"warning" yaml:"warning"`
}

InstanceSchedAction is the API payload based on the legacy xmlrpc backend.

type InstanceSnapshot

type InstanceSnapshot struct {
	Action         string    `json:"action" yaml:"action"`
	Active         bool      `json:"active" yaml:"active"`
	HypervisorID   string    `json:"hypervisor_id" yaml:"hypervisor_id"`
	Name           string    `json:"name" yaml:"name"`
	SnapshotID     int       `json:"snapshot_id" yaml:"snapshot_id"`
	SystemDiskSize string    `json:"system_disk_size" yaml:"system_disk_size"`
	Time           time.Time `json:"time" yaml:"time"`
}

InstanceSnapshot is the API payload based on the legacy xmlrpc backend.

type InstanceSnapshots

type InstanceSnapshots struct {
	AllowOrphans string         `json:"allow_orphans" yaml:"allow_orphans"`
	CurrentBase  int            `json:"current_base" yaml:"current_base"`
	DiskID       int            `json:"disk_id" yaml:"disk_id"`
	NextSnapshot int            `json:"next_snapshot" yaml:"next_snapshot"`
	Snapshot     []InstanceAnon `json:"snapshot" yaml:"snapshot"`
}

InstanceSnapshots is the API payload based on the legacy xmlrpc backend.

type InstanceState

type InstanceState int

InstanceState represents the state of an instance.

const (
	InitState      InstanceState = iota // init
	PendingState                        // pending
	HoldState                           // hold
	ActiveState                         // active
	StoppedState                        // stopped
	SuspendedState                      // suspended
	DoneState                           // done

	OffState                              // off
	UndeployedState                       // undeployed
	CloningState                          // cloning
	CloningFailedState                    // cloning_failed
	AnyState           InstanceState = -2 // all
	NotDoneState       InstanceState = -1 // not_done
)

InstanceState values.

func InstanceStateString

func InstanceStateString(s string) (InstanceState, error)

InstanceStateString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func InstanceStateValues

func InstanceStateValues() []InstanceState

InstanceStateValues returns all values of the enum

func (InstanceState) IsAInstanceState

func (i InstanceState) IsAInstanceState() bool

IsAInstanceState returns "true" if the value is listed in the enum definition. "false" otherwise

func (InstanceState) MarshalText

func (i InstanceState) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface for InstanceState

func (InstanceState) String

func (i InstanceState) String() string

func (*InstanceState) UnmarshalText

func (i *InstanceState) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface for InstanceState

type InstanceTemplate

type InstanceTemplate struct {
	ID          int                         `json:"id" yaml:"id"`
	UID         int                         `json:"uid" yaml:"uid"`
	GID         int                         `json:"gid" yaml:"gid"`
	Uname       string                      `json:"uname" yaml:"uname"`
	Gname       string                      `json:"gname" yaml:"gname"`
	Name        string                      `json:"name" yaml:"name"`
	Lock        InstanceTemplateLock        `json:"lock" yaml:"lock"`
	Permissions InstanceTemplatePermissions `json:"permissions" yaml:"permissions"`
	Regtime     int                         `json:"regtime" yaml:"regtime"`
	Template    VMTemplateData              `json:"template" yaml:"template"`
}

InstanceTemplate is the API payload based on the legacy xmlrpc backend.

type InstanceTemplateData

type InstanceTemplateData struct {
	AutomaticDSRequirements   string                `json:"automatic_dsrequirements" yaml:"automatic_dsrequirements"`
	AutomaticNICRequirements  string                `json:"automatic_nicrequirements" yaml:"automatic_nicrequirements"`
	AutomaticRequirements     string                `json:"automatic_requirements" yaml:"automatic_requirements"`
	CloningTemplateID         string                `json:"cloning_template_id" yaml:"cloning_template_id"`
	Context                   string                `json:"context" yaml:"context"`
	CPU                       string                `json:"cpu" yaml:"cpu"`
	CPUCost                   string                `json:"cpucost" yaml:"cpucost"`
	Disk                      []InstanceDisk        `json:"disk" yaml:"disk"`
	DiskCost                  string                `json:"disk_cost" yaml:"disk_cost"`
	Emulator                  string                `json:"emulator" yaml:"emulator"`
	Features                  string                `json:"features" yaml:"features"`
	HypervOptions             string                `json:"hyperv_options" yaml:"hyperv_options"`
	Graphics                  string                `json:"graphics" yaml:"graphics"`
	Imported                  string                `json:"imported" yaml:"imported"`
	Input                     string                `json:"input" yaml:"input"`
	Memory                    string                `json:"memory" yaml:"memory"`
	MemoryCost                string                `json:"memory_cost" yaml:"memory_cost"`
	MemoryMax                 string                `json:"memory_max" yaml:"memory_max"`
	MemorySlots               string                `json:"memory_slots" yaml:"memory_slots"`
	MemoryResizeMode          string                `json:"memory_resize_mode" yaml:"memory_resize_mode"`
	NIC                       []InstanceNIC         `json:"nic" yaml:"nic"`
	NICAlias                  []InstanceNICAlias    `json:"nic_alias" yaml:"nic_alias"`
	NICDefault                string                `json:"nic_default" yaml:"nic_default"`
	NumaNode                  string                `json:"numa_node" yaml:"numa_node"`
	OS                        string                `json:"os" yaml:"os"`
	PCI                       string                `json:"pci" yaml:"pci"`
	Raw                       string                `json:"raw" yaml:"raw"`
	SchedAction               []InstanceSchedAction `json:"sched_action" yaml:"sched_action"`
	SecurityGroupRule         []string              `json:"security_group_rule" yaml:"security_group_rule"`
	Snapshot                  []InstanceSnapshot    `json:"snapshot" yaml:"snapshot"`
	SpiceOptions              string                `json:"spice_options" yaml:"spice_options"`
	SubmitOnHold              string                `json:"submit_on_hold" yaml:"submit_on_hold"`
	TemplateID                string                `json:"template_id" yaml:"template_id"`
	TmMADSystem               string                `json:"tm_madsystem" yaml:"tm_madsystem"`
	Topology                  string                `json:"topology" yaml:"topology"`
	VCPU                      string                `json:"vcpu" yaml:"vcpu"`
	VCPUMax                   string                `json:"vcpu_max" yaml:"vcpu_max"`
	InstanceGroup             []string              `json:"instance_group" yaml:"instance_group"`
	InstanceID                string                `json:"instance_id" yaml:"instance_id"`
	VRouterID                 string                `json:"vrouter_id" yaml:"vrouter_id"`
	VRouterKeepalivedID       string                `json:"vrouter_keepalived_id" yaml:"vrouter_keepalived_id"`
	VRouterKeepalivedPassword string                `json:"vrouter_keepalived_password" yaml:"vrouter_keepalived_password"`
}

InstanceTemplateData is the API payload based on the legacy xmlrpc backend.

type InstanceTemplateLock

type InstanceTemplateLock struct {
	Locked int `json:"locked" yaml:"locked"`
	Owner  int `json:"owner" yaml:"owner"`
	Time   int `json:"time" yaml:"time"`
	ReqID  int `json:"req_id" yaml:"req_id"`
}

InstanceTemplateLock is the API payload based on the legacy xmlrpc backend.

type InstanceTemplatePermissions

type InstanceTemplatePermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

InstanceTemplatePermissions is the API payload based on the legacy xmlrpc backend.

type InstanceUserTemplate

type InstanceUserTemplate struct {
	Values                map[string]string `json:"values" yaml:"values"`
	VCenterCCRRef         string            `json:"vcenter_ccrref" yaml:"vcenter_ccrref"`
	VCenterDSRef          string            `json:"vcenter_dsref" yaml:"vcenter_dsref"`
	VCenterInstanceID     string            `json:"vcenter_instance_id" yaml:"vcenter_instance_id"`
	Error                 string            `json:"error" yaml:"error"`
	Hypervisor            string            `json:"hypervisor" yaml:"hypervisor"`
	Info                  string            `json:"info" yaml:"info"`
	LXDSecurityPrivileged bool              `json:"lxdsecurity_privileged" yaml:"lxdsecurity_privileged"`
	SchedRequirements     string            `json:"sched_requirements" yaml:"sched_requirements"`
}

InstanceUserTemplate is the API payload based on the legacy xmlrpc backend.

type InstantiateTemplateRequest

type InstantiateTemplateRequest struct {
	Name     string `json:"name"`
	Data     string `json:"data"`
	Hold     bool   `json:"hold"`
	DiskCopy bool   `json:"disk_copy"`
}

InstantiateTemplateRequest is the response body for PATCH /template/{template}/instantiate.

type InstantiateTemplateResponse

type InstantiateTemplateResponse struct {
	Template int `json:"template"`
}

InstantiateTemplateResponse is the response body for DELETE /template/{template}.

type InstantiateVNetTemplateRequest

type InstantiateVNetTemplateRequest struct {
	Name  string `json:"name"`
	Extra string `json:"extra"`
}

InstantiateVNetTemplateRequest is the request body for PATCH /vnet/template/{template}/instantiate.

type InstantiateVNetTemplateResponse

type InstantiateVNetTemplateResponse struct {
	Template int `json:"vnet"`
}

InstantiateVNetTemplateResponse is the response body for PATCH /vnet/template/instantiate.

type InstantiateVRouterRequest

type InstantiateVRouterRequest struct {
	Instances        int    `json:"instances"`
	InstanceTemplate int    `json:"instance_template"`
	Name             string `json:"name"`
	Pending          bool   `json:"pending"`
	Extra            string `json:"extra"`
}

InstantiateVRouterRequest is the request body for PATCH /vrouter/{router}/instantiate.

type InstantiateVRouterResponse

type InstantiateVRouterResponse struct {
	Router int `json:"router"`
}

InstantiateVRouterResponse is the response body for PATCH /vrouter/instantiate.

type LCMState

type LCMState int

LCMState is the Life Cycle Manager state of an instance.

const (
	InitLCMState          LCMState = iota // init
	PrologLCMState                        // prolog
	BootLCMState                          // boot
	RunningLCMState                       // running
	MigrateLCMState                       // migrate
	SaveStopLCMState                      // save_stop
	SaveSuspendLCMState                   // save_suspend
	SaveMigrateLCMState                   // save_migrate
	PrologMigrateLCMState                 // prolog_migrate
	PrologResumeLCMState                  // prolog_resume
	EpilogStopLCMState                    // epilog_stop
	EpilogLCMState                        // epilog
	ShutdownLCMState                      // shutdown

	CleanupResubmitLCMState              // cleanup_resubmit
	UnknownLCMState                      // unknown
	HotplugLCMState                      // hotplug
	ShutdownPowerOffLCMState             // shutdown_poweroff
	BootUnknownLCMState                  // boot_unknown
	BootPowerOffLCMState                 // boot_poweroff
	BootSuspendedLCMState                // boot_suspended
	BootStoppedLCMState                  // boot_stopped
	CleanupDeleteLCMState                // cleanup_delete
	HotplugSnapshotLCMState              // hotplug_snapshot
	HotplugNICLCMState                   // hotplug_nic
	HotplugSaveAsLCMState                // hotplug_saveas
	HotplugSaveAsPowerOffLCMState        // hotplug_saveas_poweroff
	HotplutSaveAsSuspendedLCMState       // hotplug_saveas_suspended
	ShutdownUndeployLCMState             // shutdown_undeploy
	EpilogUndeployLCMState               // epilog_undeploy
	PrologUndeployLCMState               // prolog_undeploy
	BootUndeployLCMState                 // boot_undeploy
	HotplugPrologPowerOffLCMState        // hotplug_prolog_poweroff
	HotplugEpilogPowerOffLCMState        // hotplug_epilog_poweroff
	BootMigrateLCMState                  // boot_migrate
	BootFailureLCMState                  // boot_failure
	BootMigrateFailureLCMState           // boot_migrate_failure
	PrologMigrateFailureLCMState         // prolog_migrate_failure
	PrologFailureLCMState                // prolog_failure
	EpilogFailureLCMState                // epilog_failure
	EpilogStopFailureLCMState            // epilog_stop_failure
	EpilogUndeployFailureLCMState        // epilog_undeploy_failure
	PrologMigratePowerOffLCMState        // prolog_migrate_poweroff
	PrologMigratePowerOffFailureLCMState // prolog_migrate_poweroff_failure
	PrologMigrageSuspendLCMState         // prolog_migrate_suspend
	PrologMigrageSuspendFailureLCMState  // prolog_migrate_suspend_failure
	BootUndeployFailureLCMState          // boot_undeploy_failure
	BootStoppedFailureLCMState           // boot_stopped_failure
	PrologResumeFailureLCMState          // prolog_resume_failure
	PrologUndeployFailureLCMState        // prolog_undeploy_failure
	DiskSnapshotPowerOffLCMState         // disk_snapshot_poweroff
	DiskSnapshotRevertPowerOffLCMState   // disk_snapshot_revert_poweroff
	DiskSnapshotDeletePowerOffLCMState   // disk_snapshot_delete_poweroff
	DiskSnapshotSuspendLCMState          // disk_snapshot_suspend
	DiskSnapshotRevertSuspendedLCMState  // disk_snapshot_revert_suspended
	DiskSnapshotDeleteSuspendedLCMState  // disk_snapshot_delete_suspended
	DiskSnapshotLCMState                 // disk_snapshot

	DiskSnapshotDeleteLCMState          // disk_snapshot_delete
	PrologMigrateUnknownLCMState        // prolog_migrate_unknown
	PrologMigrateUnknownFailureLCMState // prolog_migrate_unknown_failure
)

LCMState values.

func LCMStateString

func LCMStateString(s string) (LCMState, error)

LCMStateString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func LCMStateValues

func LCMStateValues() []LCMState

LCMStateValues returns all values of the enum

func (LCMState) IsALCMState

func (i LCMState) IsALCMState() bool

IsALCMState returns "true" if the value is listed in the enum definition. "false" otherwise

func (LCMState) MarshalText

func (i LCMState) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface for LCMState

func (LCMState) String

func (i LCMState) String() string

func (*LCMState) UnmarshalText

func (i *LCMState) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface for LCMState

type ListACLsResponse

type ListACLsResponse struct {
	ACLs []ACL `json:"acls"`
}

ListACLsResponse is the response body for GET /acl.

type ListClusterResponse

type ListClusterResponse struct {
	Cluster Cluster `json:"cluster"`
}

ListClusterResponse is the response body for GET /cluster.

type ListClustersResponse

type ListClustersResponse struct {
	Clusters []Cluster `json:"cluster"`
}

ListClustersResponse is the response body for GET /cluster.

type ListDatastoreResponse

type ListDatastoreResponse struct {
	Datastore Datastore `json:"datastore"`
}

ListDatastoreResponse is the response body for GET /datastore.

type ListDatastoresResponse

type ListDatastoresResponse struct {
	Datastores []Datastore `json:"datastore"`
}

ListDatastoresResponse is the response body for GET /datastore.

type ListDocumentResponse

type ListDocumentResponse struct {
	Document Document `json:"document"`
}

ListDocumentResponse is the response body for GET /document.

type ListDocumentsResponse

type ListDocumentsResponse struct {
	Documents []Document `json:"document"`
}

ListDocumentsResponse is the response body for GET /document.

type ListGroupQuotaResponse

type ListGroupQuotaResponse struct {
	Quota DefaultGroupQuotas `json:"quota"`
}

ListGroupQuotaResponse is the response body for GET /group/quota.

type ListGroupResponse

type ListGroupResponse struct {
	Group Group `json:"group"`
}

ListGroupResponse is the response body for GET /group.

type ListGroupsResponse

type ListGroupsResponse struct {
	Groups []Group `json:"groups"`
}

ListGroupsResponse is the response body for GET /group.

type ListHookLogResponse

type ListHookLogResponse struct {
	HookLogs []HookLog `json:"hook_log"`
}

ListHookLogResponse is the response body for GET /hook/log.

type ListHookResponse

type ListHookResponse struct {
	Hook Hook `json:"hook"`
}

ListHookResponse is the response body for GET /hook.

type ListHooksResponse

type ListHooksResponse struct {
	Hooks []Hook `json:"hook"`
}

ListHooksResponse is the response body for GET /hook.

type ListHostMonitoringResponse

type ListHostMonitoringResponse struct {
	Monitoring []HostMonitoring `json:"monitoring"`
}

ListHostMonitoringResponse is the response body for GET /host/monitoring.

type ListHostResponse

type ListHostResponse struct {
	Host Host `json:"host"`
}

ListHostResponse is the response body for GET /host.

type ListHostsMonitoringResponse

type ListHostsMonitoringResponse struct {
	Monitoring []HostMonitoring `json:"monitoring"`
}

ListHostsMonitoringResponse is the response body for GET /host/monitoring.

type ListHostsResponse

type ListHostsResponse struct {
	Hosts []Host `json:"hosts"`
}

ListHostsResponse is the response body for GET /host.

type ListImageResponse

type ListImageResponse struct {
	Image Image `json:"image"`
}

ListImageResponse is the response body for GET /image.

type ListImagesResponse

type ListImagesResponse struct {
	Images []Image `json:"images"`
}

ListImagesResponse is the response body for GET /image.

type ListInstanceGroupResponse

type ListInstanceGroupResponse struct {
	InstanceGroup InstanceGroup `json:"instance_group"`
}

ListInstanceGroupResponse is the response body for GET /instance-group.

type ListInstanceGroupsResponse

type ListInstanceGroupsResponse struct {
	InstanceGroups []InstanceGroup `json:"instance_groups"`
}

ListInstanceGroupsResponse is the response body for GET /instance-group.

type ListInstanceMonitoringResponse

type ListInstanceMonitoringResponse struct {
	Monitoring []InstanceMonitoring `json:"monitoring"`
}

ListInstanceMonitoringResponse is the response body for GET /instance/monitoring/{id}.

type ListInstanceResponse

type ListInstanceResponse struct {
	Instance Instance `json:"instance"`
}

ListInstanceResponse is the response body for GET /instance/{instance}.

type ListInstancesAccountingResponse

type ListInstancesAccountingResponse struct {
	Accounting []AcctHistory `json:"accounting"`
}

ListInstancesAccountingResponse is the response body for GET /instance/accounting.

type ListInstancesMonitoringResponse

type ListInstancesMonitoringResponse struct {
	Monitoring []InstanceMonitoring `json:"monitoring"`
}

ListInstancesMonitoringResponse is the response body for GET /instance/monitoring.

type ListInstancesResponse

type ListInstancesResponse struct {
	Instances []Instance `json:"instances"`
}

ListInstancesResponse is the response body for GET /instance.

type ListInstancesShowbackResponse

type ListInstancesShowbackResponse struct {
	Showback []Showback `json:"showback"`
}

ListInstancesShowbackResponse is the response body for GET /instance/showback.

type ListMarketAppResponse

type ListMarketAppResponse struct {
	App MarketplaceApp `json:"application"`
}

ListMarketAppResponse is the response body for GET /market/app.

type ListMarketAppsResponse

type ListMarketAppsResponse struct {
	Apps []MarketplaceApp `json:"applications"`
}

ListMarketAppsResponse is the response body for GET /market/app.

type ListMarketResponse

type ListMarketResponse struct {
	Market Marketplace `json:"market"`
}

ListMarketResponse is the response body for GET /market.

type ListMarketsResponse

type ListMarketsResponse struct {
	Markets []Marketplace `json:"market"`
}

ListMarketsResponse is the response body for GET /market.

type ListSecurityGroupResponse

type ListSecurityGroupResponse struct {
	SecurityGroup SecurityGroup `json:"security_group"`
}

ListSecurityGroupResponse is the response body for GET /sg.

type ListSecurityGroupsResponse

type ListSecurityGroupsResponse struct {
	SecurityGroups []SecurityGroup `json:"security_group"`
}

ListSecurityGroupsResponse is the response body for GET /sg.

type ListSystemConfigResponse

type ListSystemConfigResponse struct {
	Config HyperCloudConfiguration `json:"config"`
}

ListSystemConfigResponse is the response body for GET /system/config.

type ListSystemVersionResponse

type ListSystemVersionResponse struct {
	Version string `json:"version"`
}

ListSystemVersionResponse is the response body for GET /system/version.

type ListTemplateResponse

type ListTemplateResponse struct {
	Template InstanceTemplate `json:"template"`
}

ListTemplateResponse is the response body for GET /template.

type ListTemplatesResponse

type ListTemplatesResponse struct {
	Templates []InstanceTemplate `json:"template"`
}

ListTemplatesResponse is the response body for GET /template.

type ListUserQuotaResponse

type ListUserQuotaResponse struct {
	Quota DefaultUserQuotas `json:"quota"`
}

ListUserQuotaResponse is the response body for GET /user/quota.

type ListUserResponse

type ListUserResponse struct {
	User User `json:"user"`
}

ListUserResponse is the response body for GET /user.

type ListUsersResponse

type ListUsersResponse struct {
	Users []User `json:"users"`
}

ListUsersResponse is the response body for GET /user.

type ListVDCResponse

type ListVDCResponse struct {
	VDC VDC `json:"vdc"`
}

ListVDCResponse is the response body for GET /vdc.

type ListVDCsResponse

type ListVDCsResponse struct {
	VDCs []VDC `json:"vdcs"`
}

ListVDCsResponse is the response body for GET /vdc.

type ListVNetResponse

type ListVNetResponse struct {
	VNet VNet `json:"vnet"`
}

ListVNetResponse is the response body for GET /vnet.

type ListVNetTemplateResponse

type ListVNetTemplateResponse struct {
	Template VNTemplateData `json:"template"`
}

ListVNetTemplateResponse is the response body for GET /vnet.

type ListVNetTemplatesResponse

type ListVNetTemplatesResponse struct {
	Templates []VNTemplateData `json:"template"`
}

ListVNetTemplatesResponse is the response body for GET /vnet.

type ListVNetsResponse

type ListVNetsResponse struct {
	VNets []VNet `json:"vnets"`
}

ListVNetsResponse is the response body for GET /vnet.

type ListVRouterResponse

type ListVRouterResponse struct {
	VRouter VRouter `json:"vrouter"`
}

ListVRouterResponse is the response body for GET /vrouter.

type ListVRoutersResponse

type ListVRoutersResponse struct {
	VRouters []VRouter `json:"vrouters"`
}

ListVRoutersResponse is the response body for GET /vrouter.

type ListZoneResponse

type ListZoneResponse struct {
	Zone Zone `json:"zone"`
}

ListZoneResponse is the response body for GET /zone.

type ListZonesRaftStatusResponse

type ListZonesRaftStatusResponse struct {
	Status RaftStatus `json:"status"`
}

ListZonesRaftStatusResponse is the response body for GET /zone/raft.

type ListZonesResponse

type ListZonesResponse struct {
	Zones []Zone `json:"zones"`
}

ListZonesResponse is the response body for GET /zone.

type LockDocumentRequest

type LockDocumentRequest struct {
	Level string `json:"level"`
	Test  bool   `json:"test"`
}

LockDocumentRequest is the request body for PATCH /document/{document}/lock.

type LockDocumentResponse

type LockDocumentResponse struct {
	Document int    `json:"document"`
	Time     string `json:"time"`
}

LockDocumentResponse is the response body for PATCH /document/lock.

type LockHookRequest

type LockHookRequest struct {
	Level LockLevel `json:"level"`
	Test  bool      `json:"test"`
}

LockHookRequest is the request body for PATCH /hook/{hook}/lock.

type LockHookResponse

type LockHookResponse struct {
	Hook int    `json:"hook"`
	Time string `json:"time"`
}

LockHookResponse is the response body for PATCH /hook/lock.

type LockImageRequest

type LockImageRequest struct {
	Level string `json:"level"`
	Test  bool   `json:"test"`
}

LockImageRequest is the request body for PATCH /image/{image}/lock.

type LockImageResponse

type LockImageResponse struct {
	Image int    `json:"image"`
	Time  string `json:"time"`
}

LockImageResponse is the response body for PATCH /image/lock.

type LockInstanceGroupRequest

type LockInstanceGroupRequest struct {
	Level string `json:"level"`
	Test  bool   `json:"test"`
}

LockInstanceGroupRequest is the request body for PATCH /instance-group/lock.

type LockInstanceGroupResponse

type LockInstanceGroupResponse struct {
	Group int    `json:"group"`
	Time  string `json:"time"`
}

LockInstanceGroupResponse is the response body for PATCH /instance-group/lock.

type LockInstanceRequest

type LockInstanceRequest struct {
	Level string `json:"level"`
	Test  bool   `json:"test,omitempty"`
}

LockInstanceRequest is the request body for PATCH /instance/{instance}/lock.

type LockInstanceResponse

type LockInstanceResponse struct {
	Instance int    `json:"instance"`
	Time     string `json:"time"`
}

LockInstanceResponse is the response body for PATCH /instance/lock.

type LockLevel

type LockLevel int

LockLevel is the level of lock.

const (
	UseLockLevel    LockLevel // use
	ManageLockLevel           // manage
	AdminLockLevel            // admin
	AllLockLevel              // all
)

Lock levels.

func LockLevelString

func LockLevelString(s string) (LockLevel, error)

LockLevelString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func LockLevelValues

func LockLevelValues() []LockLevel

LockLevelValues returns all values of the enum

func (LockLevel) IsALockLevel

func (i LockLevel) IsALockLevel() bool

IsALockLevel returns "true" if the value is listed in the enum definition. "false" otherwise

func (LockLevel) MarshalText

func (i LockLevel) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface for LockLevel

func (LockLevel) String

func (i LockLevel) String() string

func (*LockLevel) UnmarshalText

func (i *LockLevel) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface for LockLevel

type LockMarketAppRequest

type LockMarketAppRequest struct {
	Level LockLevel `json:"level"`
	Test  bool      `json:"test"`
}

LockMarketAppRequest is the request body for PATCH /market/app/{app}/lock.

type LockMarketAppResponse

type LockMarketAppResponse struct {
	MarketApp int `json:"market_app"`
}

LockMarketAppResponse is the response body for PATCH /market/app/lock.

type LockTemplateRequest

type LockTemplateRequest struct {
	Level LockLevel `json:"level"`
	Test  bool      `json:"test"`
}

LockTemplateRequest is the response body for PATCH /template/{template}/lock.

type LockTemplateResponse

type LockTemplateResponse struct {
	Template int `json:"template"`
}

LockTemplateResponse is the response body for PATCH /template/lock.

type LockVNetRequest

type LockVNetRequest struct {
	Level string `json:"level"`
	Test  bool   `json:"test"`
}

LockVNetRequest is the request body for PATCH /vnet/{vnet}/lock.

type LockVNetResponse

type LockVNetResponse struct {
	VNet int    `json:"vnet"`
	Time string `json:"time"`
}

LockVNetResponse is the response body for PATCH /vnet/lock.

type LockVNetTemplateRequest

type LockVNetTemplateRequest struct {
	Level string `json:"level"`
	Test  bool   `json:"test"`
}

LockVNetTemplateRequest is the request body for PATCH /vnet/template/{template}/lock.

type LockVNetTemplateResponse

type LockVNetTemplateResponse struct {
	Template int    `json:"template"`
	Time     string `json:"time"`
}

LockVNetTemplateResponse is the response body for PATCH /vnet/template/lock.

type LockVRouterRequest

type LockVRouterRequest struct {
	Level string `json:"level"`
	Test  bool   `json:"test"`
}

LockVRouterRequest is the request body for PATCH /vrouter/{router}/lock.

type LockVRouterResponse

type LockVRouterResponse struct {
	Router int    `json:"router"`
	Time   string `json:"time"`
}

LockVRouterResponse is the response body for PATCH /vrouter/lock.

type MarketPlaceAppPermissions

type MarketPlaceAppPermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

MarketPlaceAppPermissions is the API payload based on the legacy xmlrpc backend.

type Marketplace

type Marketplace struct {
	ID              int                    `json:"id" yaml:"id"`
	UID             int                    `json:"uid" yaml:"uid"`
	GID             int                    `json:"gid" yaml:"gid"`
	Uname           string                 `json:"uname" yaml:"uname"`
	Gname           string                 `json:"gname" yaml:"gname"`
	Name            string                 `json:"name" yaml:"name"`
	State           int                    `json:"state" yaml:"state"`
	MarketMAD       string                 `json:"market_mad" yaml:"market_mad"`
	ZoneID          string                 `json:"zone_id" yaml:"zone_id"`
	TotalMB         int                    `json:"total_mb" yaml:"total_mb"`
	FreeMB          int                    `json:"free_mb" yaml:"free_mb"`
	UsedMB          int                    `json:"used_mb" yaml:"used_mb"`
	Marketplaceapps MarketplaceApps        `json:"marketplaceapps" yaml:"marketplaceapps"`
	Permissions     MarketplacePermissions `json:"permissions" yaml:"permissions"`
	Template        string                 `json:"template" yaml:"template"`
}

Marketplace is the API payload based on the legacy xmlrpc backend.

type MarketplaceApp

type MarketplaceApp struct {
	ID            int                       `json:"id" yaml:"id"`
	UID           int                       `json:"uid" yaml:"uid"`
	GID           int                       `json:"gid" yaml:"gid"`
	Uname         string                    `json:"uname" yaml:"uname"`
	Gname         string                    `json:"gname" yaml:"gname"`
	Lock          MarketplaceAppLock        `json:"lock" yaml:"lock"`
	Regtime       int                       `json:"regtime" yaml:"regtime"`
	Name          string                    `json:"name" yaml:"name"`
	ZoneID        string                    `json:"zone_id" yaml:"zone_id"`
	OriginID      string                    `json:"origin_id" yaml:"origin_id"`
	Source        string                    `json:"source" yaml:"source"`
	MD5           string                    `json:"md5" yaml:"md5"`
	Size          int                       `json:"size" yaml:"size"`
	Description   string                    `json:"description" yaml:"description"`
	Version       string                    `json:"version" yaml:"version"`
	Format        string                    `json:"format" yaml:"format"`
	Apptemplate64 string                    `json:"apptemplate64" yaml:"apptemplate64"`
	MarketplaceID int                       `json:"marketplace_id" yaml:"marketplace_id"`
	Marketplace   string                    `json:"marketplace" yaml:"marketplace"`
	State         int                       `json:"state" yaml:"state"`
	Type          int                       `json:"type" yaml:"type"`
	Permissions   MarketPlaceAppPermissions `json:"permissions" yaml:"permissions"`
}

MarketplaceApp is the API payload based on the legacy xmlrpc backend.

type MarketplaceAppLock

type MarketplaceAppLock struct {
	Locked int `json:"locked" yaml:"locked"`
	Owner  int `json:"owner" yaml:"owner"`
	Time   int `json:"time" yaml:"time"`
	ReqID  int `json:"req_id" yaml:"req_id"`
}

MarketplaceAppLock is the API payload based on the legacy xmlrpc backend.

type MarketplaceApps

type MarketplaceApps struct {
	ID []int `json:"id" yaml:"id"`
}

MarketplaceApps is the API payload based on the legacy xmlrpc backend.

type MarketplacePermissions

type MarketplacePermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

MarketplacePermissions is the API payload based on the legacy xmlrpc backend.

type MigrationType

type MigrationType int

MigrationType is the type of migration.

const (
	SaveMigrationType         MigrationType // save
	PowerOffMigrationType                   // poweroff
	PowerOffHardMigrationType               // poweroff_hard
)

MigrationTypes values.

func MigrationTypeString

func MigrationTypeString(s string) (MigrationType, error)

MigrationTypeString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func MigrationTypeValues

func MigrationTypeValues() []MigrationType

MigrationTypeValues returns all values of the enum

func (MigrationType) IsAMigrationType

func (i MigrationType) IsAMigrationType() bool

IsAMigrationType returns "true" if the value is listed in the enum definition. "false" otherwise

func (MigrationType) MarshalText

func (i MigrationType) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface for MigrationType

func (MigrationType) String

func (i MigrationType) String() string

func (*MigrationType) UnmarshalText

func (i *MigrationType) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface for MigrationType

type MoveInstanceRequest

type MoveInstanceRequest struct {
	Host            int    `json:"host"`
	LiveMigrate     bool   `json:"live_migrate"`
	EnforceCapacity bool   `json:"enforce_capacity"` // TODO: probably should reverse this logic
	MigrationType   string `json:"migration_type"`
}

MoveInstanceRequest is the request body for PATCH /instance/{instance}/move.

type MoveInstanceResponse

type MoveInstanceResponse struct {
	Instance int `json:"instance"`
}

MoveInstanceResponse is the response body for PATCH /instance/move.

type Period

type Period struct {
	Start *int `json:"start,omitempty"`
	End   *int `json:"end,omitempty"`
}

Period is a time interval with optional start and end times.

type Perms

type Perms struct {
	OwnerUse    *bool `json:"owner_use,omitempty"`
	OwnerManage *bool `json:"owner_manage,omitempty"`
	OwnerAdmin  *bool `json:"owner_admin,omitempty"`
	GroupUse    *bool `json:"group_use,omitempty"`
	GroupManage *bool `json:"group_manage,omitempty"`
	GroupAdmin  *bool `json:"group_admin,omitempty"`
	OtherUse    *bool `json:"other_use,omitempty"`
	OtherManage *bool `json:"other_manage,omitempty"`
	OtherAdmin  *bool `json:"other_admin,omitempty"`
}

Perms is a set of owner (user), group, and other permissions. Think UNIX.

type PingResponse

type PingResponse struct {
	Service string `json:"service"`
	Version string `json:"version"`
}

PingResponse is the response from POST /ping.

type RaftStatus

type RaftStatus struct {
	ServerID    int `json:"server_id" yaml:"server_id"`
	State       int `json:"state" yaml:"state"`
	Term        int `json:"term" yaml:"term"`
	Votedfor    int `json:"votedfor" yaml:"votedfor"`
	Commit      int `json:"commit" yaml:"commit"`
	LogIndex    int `json:"log_index" yaml:"log_index"`
	LogTerm     int `json:"log_term" yaml:"log_term"`
	FedlogIndex int `json:"fedlog_index" yaml:"fedlog_index"`
}

RaftStatus is the API payload based on the legacy xmlrpc backend.

type RecoverInstanceRequest

type RecoverInstanceRequest struct {
	Operation string `json:"operation"`
}

RecoverInstanceRequest is the request body for PATCH /instance/{instance}/recover.

type RecoverInstanceResponse

type RecoverInstanceResponse struct {
	Instance int `json:"instance"`
}

RecoverInstanceResponse is the response body for PATCH /instance/recover.

type RecoverVNetRequest

type RecoverVNetRequest struct {
	Recovery string `json:"recovery"`
}

RecoverVNetRequest is the request body for PATCH /vnet/{vnet}/recover.

type RecoverVNetResponse

type RecoverVNetResponse struct {
	VNet int `json:"vnet"`
}

RecoverVNetResponse is the response body for PATCH /vnet/recover.

type ReleaseVNetRequest

type ReleaseVNetRequest struct {
	Template string `json:"template"`
}

ReleaseVNetRequest is the request body for PATCH /vnet/{vnet}/release.

type ReleaseVNetResponse

type ReleaseVNetResponse struct {
	VNet int `json:"vnet"`
}

ReleaseVNetResponse is the response body for PATCH /vnet/release.

type RenameClusterRequest

type RenameClusterRequest struct {
	Name string `json:"name"`
}

RenameClusterRequest is the request body for PATCH /cluster/{cluster}/name.

type RenameClusterResponse

type RenameClusterResponse struct {
	Cluster int `json:"cluster"`
}

RenameClusterResponse is the response body for PATCH /cluster/name.

type RenameDatastoreRequest

type RenameDatastoreRequest struct {
	Name string `json:"name"`
}

RenameDatastoreRequest is the request body for PATCH /datastore/{datastore}/name.

type RenameDatastoreResponse

type RenameDatastoreResponse struct {
	Datastore int `json:"datastore"`
}

RenameDatastoreResponse is the response body for PATCH /datastore/name.

type RenameDocumentRequest

type RenameDocumentRequest struct {
	Name string `json:"name"`
}

RenameDocumentRequest is the request body for PATCH /document/{document}/name.

type RenameDocumentResponse

type RenameDocumentResponse struct {
	Document int `json:"document"`
}

RenameDocumentResponse is the response body for PATCH /document/name.

type RenameHookRequest

type RenameHookRequest struct {
	Name string `json:"name"`
}

RenameHookRequest is the request body for PATCH /hook/{hook}/name.

type RenameHookResponse

type RenameHookResponse struct {
	Hook int `json:"hook"`
}

RenameHookResponse is the response body for PATCH /hook/name.

type RenameHostRequest

type RenameHostRequest struct {
	Hostname string `json:"hostname"`
}

RenameHostRequest is the request body for PATCH /host/{host}/name.

type RenameHostResponse

type RenameHostResponse struct {
	Host int `json:"host"`
}

RenameHostResponse is the response body for PATCH /host/name.

type RenameImageRequest

type RenameImageRequest struct {
	Name string `json:"name"`
}

RenameImageRequest is the request body for PATCH /image/{image}/name.

type RenameImageResponse

type RenameImageResponse struct {
	Image int `json:"image"`
}

RenameImageResponse is the response body for PATCH /image/name.

type RenameInstanceDiskSnapshotRequest

type RenameInstanceDiskSnapshotRequest struct {
	Name string `json:"name"`
}

RenameInstanceDiskSnapshotRequest is the request body for PATCH /instance/{instance}/disk/{disk}/snapshot/{snapshot}/name.

type RenameInstanceDiskSnapshotResponse

type RenameInstanceDiskSnapshotResponse struct {
	Instance int `json:"instance"`
}

RenameInstanceDiskSnapshotResponse is the response body for PATCH /instance/disk/snapshot/name.

type RenameInstanceGroupRequest

type RenameInstanceGroupRequest struct {
	Name string `json:"name"`
}

RenameInstanceGroupRequest is the request body for PATCH /instance-group/name.

type RenameInstanceGroupResponse

type RenameInstanceGroupResponse struct {
	Group int `json:"group"`
}

RenameInstanceGroupResponse is the response body for PATCH /instance-group/name.

type RenameInstanceRequest

type RenameInstanceRequest struct {
	Name string `json:"name"`
}

RenameInstanceRequest is the request body for PATCH /instance/{instance}/name.

type RenameInstanceResponse

type RenameInstanceResponse struct {
	Instance int `json:"instance"`
}

RenameInstanceResponse is the response body for PATCH /instance/name.

type RenameMarketAppRequest

type RenameMarketAppRequest struct {
	Name string `json:"name"`
}

RenameMarketAppRequest is the request body for PATCH /market/app/{app}/name.

type RenameMarketAppResponse

type RenameMarketAppResponse struct {
	MarketApp int `json:"market_app"`
}

RenameMarketAppResponse is the response body for PATCH /market/app/name.

type RenameMarketRequest

type RenameMarketRequest struct {
	Name string `json:"name"`
}

RenameMarketRequest is the request body for PATCH /market/{market}/name.

type RenameMarketResponse

type RenameMarketResponse struct {
	Market int `json:"market"`
}

RenameMarketResponse is the response body for PATCH /market/name.

type RenameSecurityGroupRequest

type RenameSecurityGroupRequest struct {
	Name string `json:"name"`
}

RenameSecurityGroupRequest is the request body for PATCH /security-group/{sg}/rename.

type RenameSecurityGroupResponse

type RenameSecurityGroupResponse struct {
	SecurityGroup int `json:"security_group"`
}

RenameSecurityGroupResponse is the response body for PATCH /sg/rename.

type RenameTemplateRequest

type RenameTemplateRequest struct {
	Name string `json:"name"`
}

RenameTemplateRequest is the response body for PATCH /template/{template}/name.

type RenameTemplateResponse

type RenameTemplateResponse struct {
	Template int `json:"template"`
}

RenameTemplateResponse is the response body for PATCH /template/name.

type RenameVDCRequest

type RenameVDCRequest struct {
	Name string `json:"name"`
}

RenameVDCRequest is the request body for PATCH /vdc/{vdc}/name.

type RenameVDCResponse

type RenameVDCResponse struct {
	VDC int `json:"vdc"`
}

RenameVDCResponse is the response body for PATCH /vdc/name.

type RenameVNetRequest

type RenameVNetRequest struct {
	Name string `json:"name"`
}

RenameVNetRequest is the request body for PATCH /vnet/{vnet}/name.

type RenameVNetResponse

type RenameVNetResponse struct {
	VNet int `json:"vnet"`
}

RenameVNetResponse is the response body for PATCH /vnet/name.

type RenameVNetTemplateRequest

type RenameVNetTemplateRequest struct {
	Name string `json:"name"`
}

RenameVNetTemplateRequest is the request body for PATCH /vnet/template/{template}/name.

type RenameVNetTemplateResponse

type RenameVNetTemplateResponse struct {
	Template int `json:"template"`
}

RenameVNetTemplateResponse is the response body for PATCH /vnet/template/name.

type RenameVRouterRequest

type RenameVRouterRequest struct {
	Name string `json:"name"`
}

RenameVRouterRequest is the request body for PATCH /vrouter/{router}/name.

type RenameVRouterResponse

type RenameVRouterResponse struct {
	Router int `json:"router"`
}

RenameVRouterResponse is the response body for PATCH /vrouter/name.

type RenameZoneRequest

type RenameZoneRequest struct {
	Name string `json:"name"`
}

RenameZoneRequest is the request body for PATCH /zone/{zone}/name.

type RenameZoneResponse

type RenameZoneResponse struct {
	Zone int `json:"zone"`
}

RenameZoneResponse is the response body for PATCH /zone/name.

type ReserveVNetRequest

type ReserveVNetRequest struct {
	Template string `json:"template"`
}

ReserveVNetRequest is the request body for POST /vnet/{vnet}/reserve.

type ReserveVNetResponse

type ReserveVNetResponse struct {
	VNet int `json:"vnet"`
}

ReserveVNetResponse is the response body for POST /vnet/reserve.

type ResizeInstanceDiskRequest

type ResizeInstanceDiskRequest struct {
	Size int `json:"size"`
}

ResizeInstanceDiskRequest is the request body for POST /instance/{instance}/disk/{disk}/size.

type ResizeInstanceDiskResponse

type ResizeInstanceDiskResponse struct {
	Instance int `json:"instance"`
}

ResizeInstanceDiskResponse is the response body for PATCH /instance/disk/size.

type ResizeInstanceRequest

type ResizeInstanceRequest struct {
	Template        string `json:"template"`
	EnforceCapacity bool   `json:"enforce_capacity"` // TODO: probably should reverse this logic
}

ResizeInstanceRequest is the request body for PATCH /instance/{instance}/size.

type ResizeInstanceResponse

type ResizeInstanceResponse struct {
	Instance int `json:"instance"`
}

ResizeInstanceResponse is the response body for PATCH /instance/size.

type RetryHookRequest

type RetryHookRequest struct {
	Execution int `json:"execution"`
}

RetryHookRequest is the request body for PATCH /hook/{hook}/retry.

type RetryHookResponse

type RetryHookResponse struct {
	Hook int `json:"hook"`
}

RetryHookResponse is the response body for PATCH /hook/retry.

type RevertImageSnapshotResponse

type RevertImageSnapshotResponse struct {
	Image int `json:"image"`
}

RevertImageSnapshotResponse is the response body for PATCH /image/snapshot/revert.

type RevertInstanceDiskSnapshotResponse

type RevertInstanceDiskSnapshotResponse struct {
	Snapshot int `json:"snapshot"`
}

RevertInstanceDiskSnapshotResponse is the response body for PATCH /instance/disk/snapshot/revert.

type RevertInstanceSnapshotResponse

type RevertInstanceSnapshotResponse struct {
	Instance int `json:"instance"`
}

RevertInstanceSnapshotResponse is the response body for PATCH /instance/snapshot/revert.

type SecurityGroup

type SecurityGroup struct {
	ID          int                      `json:"id" yaml:"id"`
	UID         int                      `json:"uid" yaml:"uid"`
	GID         int                      `json:"gid" yaml:"gid"`
	Uname       string                   `json:"uname" yaml:"uname"`
	Gname       string                   `json:"gname" yaml:"gname"`
	Name        string                   `json:"name" yaml:"name"`
	Permissions SecurityGroupPermissions `json:"permissions" yaml:"permissions"`
	UpdatedVMs  SecurityGroupUpdatedVMs  `json:"updated_vms" yaml:"updated_vms"`
	OutdatedVMs SecurityGroupOutdatedVMs `json:"outdated_vms" yaml:"outdated_vms"`
	UpdatingVMs SecurityGroupUpdatingVMs `json:"updating_vms" yaml:"updating_vms"`
	ErrorVMs    SecurityGroupErrorVMs    `json:"error_vms" yaml:"error_vms"`
	Template    SecurityGroupTemplate    `json:"template" yaml:"template"`
}

SecurityGroup is the API payload based on the legacy xmlrpc backend.

type SecurityGroupErrorVMs

type SecurityGroupErrorVMs struct {
	ID []int `json:"id" yaml:"id"`
}

SecurityGroupErrorVMs is the API payload based on the legacy xmlrpc backend.

type SecurityGroupOutdatedVMs

type SecurityGroupOutdatedVMs struct {
	ID []int `json:"id" yaml:"id"`
}

SecurityGroupOutdatedVMs is the API payload based on the legacy xmlrpc backend.

type SecurityGroupPermissions

type SecurityGroupPermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

SecurityGroupPermissions is the API payload based on the legacy xmlrpc backend.

type SecurityGroupRule

type SecurityGroupRule struct {
	Protocol string `json:"protocol" yaml:"protocol"`
	RuleType string `json:"rule_type" yaml:"rule_type"`
}

SecurityGroupRule is the API payload based on the legacy xmlrpc backend.

type SecurityGroupTemplate

type SecurityGroupTemplate struct {
	Values      map[string]string   `json:"values" yaml:"values"`
	Description string              `json:"description" yaml:"description"`
	Rule        []SecurityGroupRule `json:"rule" yaml:"rule"`
}

SecurityGroupTemplate is the API payload based on the legacy xmlrpc backend.

type SecurityGroupUpdatedVMs

type SecurityGroupUpdatedVMs struct {
	ID []int `json:"id" yaml:"id"`
}

SecurityGroupUpdatedVMs is the API payload based on the legacy xmlrpc backend.

type SecurityGroupUpdatingVMs

type SecurityGroupUpdatingVMs struct {
	ID []int `json:"id" yaml:"id"`
}

SecurityGroupUpdatingVMs is the API payload based on the legacy xmlrpc backend.

type SetGroupQuotaRequest

type SetGroupQuotaRequest struct {
	Template string `json:"template"`
}

SetGroupQuotaRequest is the request body for POST /group/quota.

type SetGroupQuotaResponse

type SetGroupQuotaResponse struct {
	Group int `json:"group"`
}

SetGroupQuotaResponse is the response body for POST /group/quota.

type SetHostStatusRequest

type SetHostStatusRequest struct {
	Status string `json:"status"`
}

SetHostStatusRequest is the request body for PATCH /host/{host}/status.

type SetHostStatusResponse

type SetHostStatusResponse struct {
	Host int `json:"host"`
}

SetHostStatusResponse is the response body for PATCH /host/status.

type SetImagePersistentRequest

type SetImagePersistentRequest struct {
	Persistent bool `json:"persistent"`
}

SetImagePersistentRequest is the request body for PATCH /image/{image}/persistent.

type SetImagePersistentResponse

type SetImagePersistentResponse struct {
	Image int `json:"image"`
}

SetImagePersistentResponse is the response body for PATCH /image/persistent.

type SetInstanceActionRequest

type SetInstanceActionRequest struct {
	// Action to perform
	Action string `` /* 152-byte string literal not displayed */
}

SetInstanceActionRequest is the request body for PATCH /instance/{instance}/action.

type SetInstanceActionResponse

type SetInstanceActionResponse struct {
	Instance int `json:"instance"`
}

SetInstanceActionResponse is the response body for POST /instance/action.

type SetUserLoginRequest

type SetUserLoginRequest struct {
	Username string `json:"username"`
	Token    string `json:"token"`
	Duration int    `json:"duration"`
	Group    int    `json:"group"`
}

SetUserLoginRequest is the request body for PATCH /user/login.

type SetUserLoginTokenResponse

type SetUserLoginTokenResponse struct {
	Token string `json:"token"`
}

SetUserLoginTokenResponse is the response body for POST /user/login.

type SetUserQuotaRequest

type SetUserQuotaRequest struct {
	Template string `json:"template"`
}

SetUserQuotaRequest is the request body for PATCH /user/{user}/quota.

type SetUserQuotaResponse

type SetUserQuotaResponse struct {
	User int `json:"user"`
}

SetUserQuotaResponse is the response body for PATCH /user/quota.

type Showback

type Showback struct {
	VMID       int     `json:"vmid" yaml:"vmid"`
	Vmname     string  `json:"vmname" yaml:"vmname"`
	UID        int     `json:"uid" yaml:"uid"`
	GID        int     `json:"gid" yaml:"gid"`
	Uname      string  `json:"uname" yaml:"uname"`
	Gname      string  `json:"gname" yaml:"gname"`
	Year       int     `json:"year" yaml:"year"`
	Month      int     `json:"month" yaml:"month"`
	CPUCost    float32 `json:"cpucost" yaml:"cpucost"`
	MemoryCost float32 `json:"memory_cost" yaml:"memory_cost"`
	DiskCost   float32 `json:"disk_cost" yaml:"disk_cost"`
	TotalCost  float32 `json:"total_cost" yaml:"total_cost"`
	Hours      float32 `json:"hours" yaml:"hours"`
	Rhours     float32 `json:"rhours" yaml:"rhours"`
}

Showback is the API payload based on the legacy xmlrpc backend.

type ShowbackRecords

type ShowbackRecords struct {
	Showback []Showback `json:"showback" yaml:"showback"`
}

ShowbackRecords is the API payload based on the legacy xmlrpc backend.

type Status

type Status int

Status is the status of an object (usually an Instance).

const (
	EnabledStatus  Status = iota // enabled
	DisabledStatus               // disabled
	OfflineStatus                // offline
)

Status values.

func StatusString

func StatusString(s string) (Status, error)

StatusString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func StatusValues

func StatusValues() []Status

StatusValues returns all values of the enum

func (Status) IsAStatus

func (i Status) IsAStatus() bool

IsAStatus returns "true" if the value is listed in the enum definition. "false" otherwise

func (Status) MarshalText

func (i Status) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface for Status

func (Status) String

func (i Status) String() string

func (*Status) UnmarshalText

func (i *Status) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface for Status

type UnlockDocumentResponse

type UnlockDocumentResponse struct {
	Document int `json:"document"`
}

UnlockDocumentResponse is the response body for PATCH /document/unlock.

type UnlockHookRequest

type UnlockHookRequest struct {
	Lock int `json:"lock"`
}

UnlockHookRequest is the request body for PATCH /hook/{hook}/unlock.

type UnlockHookResponse

type UnlockHookResponse struct {
	Hook int `json:"hook"`
}

UnlockHookResponse is the response body for PATCH /hook/unlock.

type UnlockImageResponse

type UnlockImageResponse struct {
	Image int `json:"image"`
}

UnlockImageResponse is the response body for PATCH /image/unlock.

type UnlockInstanceGroupResponse

type UnlockInstanceGroupResponse struct {
	Group int `json:"group"`
}

UnlockInstanceGroupResponse is the response body for PATCH /instance-group/unlock.

type UnlockInstanceResponse

type UnlockInstanceResponse struct {
	Instance int `json:"instance"`
}

UnlockInstanceResponse is the response body for PATCH /instance/unlock.

type UnlockMarketAppResponse

type UnlockMarketAppResponse struct {
	MarketApp int `json:"market_app"`
}

UnlockMarketAppResponse is the response body for PATCH /market/app/unlock.

type UnlockTemplateResponse

type UnlockTemplateResponse struct {
	Template int `json:"template"`
}

UnlockTemplateResponse is the response body for PATCH /template/unlock.

type UnlockVNetResponse

type UnlockVNetResponse struct {
	VNet int `json:"vnet"`
}

UnlockVNetResponse is the response body for PATCH /vnet/unlock.

type UnlockVNetTemplateResponse

type UnlockVNetTemplateResponse struct {
	Template int `json:"template"`
}

UnlockVNetTemplateResponse is the response body for PATCH /vnet/template/unlock.

type UnlockVRouterResponse

type UnlockVRouterResponse struct {
	Router int `json:"router"`
}

UnlockVRouterResponse is the response body for PATCH /vrouter/unlock.

type UpdateClusterRequest

type UpdateClusterRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateClusterRequest is request body for PATCH /cluster/{cluster}.

type UpdateClusterResponse

type UpdateClusterResponse struct {
	Cluster int `json:"cluster"`
}

UpdateClusterResponse is response body for PATCH /cluster.

type UpdateDatastoreRequest

type UpdateDatastoreRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateDatastoreRequest is the request body for PATCH /datastore/{datastore}.

type UpdateDatastoreResponse

type UpdateDatastoreResponse struct {
	Datastore int `json:"datastore"`
}

UpdateDatastoreResponse is the response body for PATCH /datastore.

type UpdateDefaultUserQuotaRequest

type UpdateDefaultUserQuotaRequest struct {
	Template string `json:"template"`
}

UpdateDefaultUserQuotaRequest is the request body for POST /user/quota.

type UpdateDefaultUserQuotaResponse

type UpdateDefaultUserQuotaResponse struct {
	Quota DefaultUserQuotas `json:"quota"`
}

UpdateDefaultUserQuotaResponse is the response body for POST /user/quota.

type UpdateDocumentRequest

type UpdateDocumentRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateDocumentRequest is the request body for PATCH /document/{document}.

type UpdateDocumentResponse

type UpdateDocumentResponse struct {
	Document int `json:"document"`
}

UpdateDocumentResponse is the response body for PATCH /document.

type UpdateGroupQuotaRequest

type UpdateGroupQuotaRequest struct {
	Template string `json:"template"`
}

UpdateGroupQuotaRequest is the request body for PATCH /group/{group}/quota.

type UpdateGroupQuotaResponse

type UpdateGroupQuotaResponse struct {
	Quota DefaultGroupQuotas `json:"quotas"`
}

UpdateGroupQuotaResponse is the response body for PATCH /group/{group}/quota.

type UpdateGroupRequest

type UpdateGroupRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateGroupRequest is the request body for PATCH /group.

type UpdateGroupResponse

type UpdateGroupResponse struct {
	Group int `json:"group"`
}

UpdateGroupResponse is the response body for PATCH /group.

type UpdateHookRequest

type UpdateHookRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateHookRequest is the request body for PATCH /hook/{hook}.

type UpdateHookResponse

type UpdateHookResponse struct {
	Hook int `json:"hook"`
}

UpdateHookResponse is the response body for PATCH /hook.

type UpdateHostRequest

type UpdateHostRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateHostRequest is the request body for PATCH /host/{host}.

type UpdateHostResponse

type UpdateHostResponse struct {
	Host int `json:"host"`
}

UpdateHostResponse is the response body for PATCH /host.

type UpdateImageRequest

type UpdateImageRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateImageRequest is the request body for PATCH /image/{image}.

type UpdateImageResponse

type UpdateImageResponse struct {
	Image int `json:"image"`
}

UpdateImageResponse is the response body for PATCH /image.

type UpdateInstanceConfigRequest

type UpdateInstanceConfigRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateInstanceConfigRequest is the request body for PATCH /instance/{instance}/config.

type UpdateInstanceConfigResponse

type UpdateInstanceConfigResponse struct {
	Instance int `json:"instance"`
}

UpdateInstanceConfigResponse is the response body for PATCH /instance/config.

type UpdateInstanceGroupRequest

type UpdateInstanceGroupRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateInstanceGroupRequest is the request body for PATCH /instance-group/{group}.

type UpdateInstanceGroupResponse

type UpdateInstanceGroupResponse struct {
	Group int `json:"group"`
}

UpdateInstanceGroupResponse is the response body for PATCH /instance-group.

type UpdateInstanceScheduleRequest

type UpdateInstanceScheduleRequest struct {
	Action   int    `json:"action"`
	Template string `json:"template"`
}

UpdateInstanceScheduleRequest is the request body for PATCH /instance/{instance}/schedule.

type UpdateInstanceScheduleResponse

type UpdateInstanceScheduleResponse struct {
	Instance int `json:"instance"`
}

UpdateInstanceScheduleResponse is the response body for PATCH /instance/schedule.

type UpdateInstanceTemplateRequest

type UpdateInstanceTemplateRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateInstanceTemplateRequest is the request body for PATCH /instance/{instance}/template.

type UpdateInstanceTemplateResponse

type UpdateInstanceTemplateResponse struct {
	Instance int `json:"instance"`
}

UpdateInstanceTemplateResponse is the response body for PATCH /instance/template.

type UpdateMarketAppRequest

type UpdateMarketAppRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateMarketAppRequest is the request body for PATCH /market/app/{app}.

type UpdateMarketAppResponse

type UpdateMarketAppResponse struct {
	MarketApp int `json:"market_app"`
}

UpdateMarketAppResponse is the response body for PATCH /market/app.

type UpdateMarketRequest

type UpdateMarketRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateMarketRequest is the request body for PATCH /market/{market}.

type UpdateMarketResponse

type UpdateMarketResponse struct {
	Market int `json:"market"`
}

UpdateMarketResponse is the response body for PATCH /market.

type UpdateSecurityGroupRequest

type UpdateSecurityGroupRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateSecurityGroupRequest is the request body for PATCH /security-group/{sg}.

type UpdateSecurityGroupResponse

type UpdateSecurityGroupResponse struct {
	SecurityGroup int `json:"security_group"`
}

UpdateSecurityGroupResponse is the response body for PATCH /sg.

type UpdateTemplateRequest

type UpdateTemplateRequest struct {
	Data  string `json:"data"`
	Merge bool   `json:"merge"`
}

UpdateTemplateRequest is the response body for PATCH /template/{template}.

type UpdateTemplateResponse

type UpdateTemplateResponse struct {
	Template int `json:"template"`
}

UpdateTemplateResponse is the response body for PATCH /template.

type UpdateUserRequest

type UpdateUserRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateUserRequest is the request body for PATCH /user/{user}.

type UpdateUserResponse

type UpdateUserResponse struct {
	User int `json:"user"`
}

UpdateUserResponse is the response body for PATCH /user.

type UpdateVDCRequest

type UpdateVDCRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateVDCRequest is the request body for PATCH /vdc/{vdc}.

type UpdateVDCResponse

type UpdateVDCResponse struct {
	VDC int `json:"vdc"`
}

UpdateVDCResponse is the response body for PATCH /vdc.

type UpdateVNetAddressRangeRequest

type UpdateVNetAddressRangeRequest struct {
	Template string `json:"template"`
}

UpdateVNetAddressRangeRequest is the request body for PATCH /vnet/{vnet}/address-range.

type UpdateVNetAddressRangeResponse

type UpdateVNetAddressRangeResponse struct {
	VNet int `json:"vnet"`
}

UpdateVNetAddressRangeResponse is the response body for PATCH /vnet/address-range.

type UpdateVNetRequest

type UpdateVNetRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateVNetRequest is the request body for PATCH /vnet/{vnet}.

type UpdateVNetResponse

type UpdateVNetResponse struct {
	VNet int `json:"vnet"`
}

UpdateVNetResponse is the response body for PATCH /vnet.

type UpdateVNetTemplateRequest

type UpdateVNetTemplateRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateVNetTemplateRequest is the request body for PATCH /vnet/{vnet}/template.

type UpdateVNetTemplateResponse

type UpdateVNetTemplateResponse struct {
	Template int `json:"template"`
}

UpdateVNetTemplateResponse is the response body for PATCH /vnet/template.

type UpdateVRouterRequest

type UpdateVRouterRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateVRouterRequest is the request body for PATCH /vrouter/{router}.

type UpdateVRouterResponse

type UpdateVRouterResponse struct {
	Router int `json:"router"`
}

UpdateVRouterResponse is the response body for PATCH /vrouter.

type UpdateZoneRequest

type UpdateZoneRequest struct {
	Template string `json:"template"`
	Merge    bool   `json:"merge"`
}

UpdateZoneRequest is the request body for PATCH /zone/{zone}.

type UpdateZoneResponse

type UpdateZoneResponse struct {
	Zone int `json:"zone"`
}

UpdateZoneResponse is the response body for PATCH /zone.

type User

type User struct {
	ID                int                `json:"id" yaml:"id"`
	GID               int                `json:"gid" yaml:"gid"`
	Groups            UserGroups         `json:"groups" yaml:"groups"`
	Gname             string             `json:"gname" yaml:"gname"`
	Name              string             `json:"name" yaml:"name"`
	Password          string             `json:"password" yaml:"password"`
	AuthDriver        string             `json:"auth_driver" yaml:"auth_driver"`
	Enabled           int                `json:"enabled" yaml:"enabled"`
	LoginToken        []UserLoginToken   `json:"login_token" yaml:"login_token"`
	Template          string             `json:"template" yaml:"template"`
	DatastoreQuota    UserDatastoreQuota `json:"datastore_quota" yaml:"datastore_quota"`
	NetworkQuota      UserNetworkQuota   `json:"network_quota" yaml:"network_quota"`
	VMQuota           UserVMQuota        `json:"vmquota" yaml:"vmquota"`
	ImageQuota        UserImageQuota     `json:"image_quota" yaml:"image_quota"`
	DefaultUserQuotas DefaultUserQuotas  `json:"default_user_quotas" yaml:"default_user_quotas"`
}

User is the API payload based on the legacy xmlrpc backend.

type UserAnon1

type UserAnon1 struct {
	Datastore []UserAnon2 `json:"datastore" yaml:"datastore"`
}

UserAnon1 is the API payload based on the legacy xmlrpc backend.

type UserAnon2

type UserAnon2 struct {
	ID         string `json:"id" yaml:"id"`
	Images     string `json:"images" yaml:"images"`
	ImagesUsed string `json:"images_used" yaml:"images_used"`
	Size       string `json:"size" yaml:"size"`
	SizeUsed   string `json:"size_used" yaml:"size_used"`
}

UserAnon2 is the API payload based on the legacy xmlrpc backend.

type UserAnon3

type UserAnon3 struct {
	Network []UserAnon4 `json:"network" yaml:"network"`
}

UserAnon3 is the API payload based on the legacy xmlrpc backend.

type UserAnon4

type UserAnon4 struct {
	ID         string `json:"id" yaml:"id"`
	Leases     string `json:"leases" yaml:"leases"`
	LeasesUsed string `json:"leases_used" yaml:"leases_used"`
}

UserAnon4 is the API payload based on the legacy xmlrpc backend.

type UserAnon5

type UserAnon5 struct {
	VM UserAnon6 `json:"vm" yaml:"vm"`
}

UserAnon5 is the API payload based on the legacy xmlrpc backend.

type UserAnon6

type UserAnon6 struct {
	CPU                string `json:"cpu" yaml:"cpu"`
	CPUUsed            string `json:"cpuused" yaml:"cpuused"`
	Memory             string `json:"memory" yaml:"memory"`
	MemoryUsed         string `json:"memory_used" yaml:"memory_used"`
	RunningCPU         string `json:"running_cpu" yaml:"running_cpu"`
	RunningCPUUsed     string `json:"running_cpuused" yaml:"running_cpuused"`
	RunningMemory      string `json:"running_memory" yaml:"running_memory"`
	RunningMemoryUsed  string `json:"running_memory_used" yaml:"running_memory_used"`
	RunningVMs         string `json:"running_vms" yaml:"running_vms"`
	RunningVMsUsed     string `json:"running_vms_used" yaml:"running_vms_used"`
	SystemDiskSize     string `json:"system_disk_size" yaml:"system_disk_size"`
	SystemDiskSizeUsed string `json:"system_disk_size_used" yaml:"system_disk_size_used"`
	VMs                string `json:"vms" yaml:"vms"`
	VMsUsed            string `json:"vms_used" yaml:"vms_used"`
}

UserAnon6 is the API payload based on the legacy xmlrpc backend.

type UserAnon7

type UserAnon7 struct {
	Image []UserAnon8 `json:"image" yaml:"image"`
}

UserAnon7 is the API payload based on the legacy xmlrpc backend.

type UserAnon8

type UserAnon8 struct {
	ID       string `json:"id" yaml:"id"`
	Rvms     string `json:"rvms" yaml:"rvms"`
	RvmsUsed string `json:"rvms_used" yaml:"rvms_used"`
}

UserAnon8 is the API payload based on the legacy xmlrpc backend.

type UserDatastore

type UserDatastore struct {
	ID         string `json:"id" yaml:"id"`
	Images     string `json:"images" yaml:"images"`
	ImagesUsed string `json:"images_used" yaml:"images_used"`
	Size       string `json:"size" yaml:"size"`
	SizeUsed   string `json:"size_used" yaml:"size_used"`
}

UserDatastore is the API payload based on the legacy xmlrpc backend.

type UserDatastoreQuota

type UserDatastoreQuota struct {
	Datastore []UserDatastore `json:"datastore" yaml:"datastore"`
}

UserDatastoreQuota is the API payload based on the legacy xmlrpc backend.

type UserGroups

type UserGroups struct {
	ID []int `json:"id" yaml:"id"`
}

UserGroups is the API payload based on the legacy xmlrpc backend.

type UserImage

type UserImage struct {
	ID       string `json:"id" yaml:"id"`
	Rvms     string `json:"rvms" yaml:"rvms"`
	RvmsUsed string `json:"rvms_used" yaml:"rvms_used"`
}

UserImage is the API payload based on the legacy xmlrpc backend.

type UserImageQuota

type UserImageQuota struct {
	Image []UserImage `json:"image" yaml:"image"`
}

UserImageQuota is the API payload based on the legacy xmlrpc backend.

type UserLoginToken

type UserLoginToken struct {
	Token          string `json:"token" yaml:"token"`
	ExpirationTime int    `json:"expiration_time" yaml:"expiration_time"`
	Egid           int    `json:"egid" yaml:"egid"`
}

UserLoginToken is the API payload based on the legacy xmlrpc backend.

type UserNetwork

type UserNetwork struct {
	ID         string `json:"id" yaml:"id"`
	Leases     string `json:"leases" yaml:"leases"`
	LeasesUsed string `json:"leases_used" yaml:"leases_used"`
}

UserNetwork is the API payload based on the legacy xmlrpc backend.

type UserNetworkQuota

type UserNetworkQuota struct {
	Network []UserNetwork `json:"network" yaml:"network"`
}

UserNetworkQuota is the API payload based on the legacy xmlrpc backend.

type UserVM

type UserVM struct {
	CPU                string `json:"cpu" yaml:"cpu"`
	CPUUsed            string `json:"cpuused" yaml:"cpuused"`
	Memory             string `json:"memory" yaml:"memory"`
	MemoryUsed         string `json:"memory_used" yaml:"memory_used"`
	RunningCPU         string `json:"running_cpu" yaml:"running_cpu"`
	RunningCPUUsed     string `json:"running_cpuused" yaml:"running_cpuused"`
	RunningMemory      string `json:"running_memory" yaml:"running_memory"`
	RunningMemoryUsed  string `json:"running_memory_used" yaml:"running_memory_used"`
	RunningVMs         string `json:"running_vms" yaml:"running_vms"`
	RunningVMsUsed     string `json:"running_vms_used" yaml:"running_vms_used"`
	SystemDiskSize     string `json:"system_disk_size" yaml:"system_disk_size"`
	SystemDiskSizeUsed string `json:"system_disk_size_used" yaml:"system_disk_size_used"`
	VMs                string `json:"vms" yaml:"vms"`
	VMsUsed            string `json:"vms_used" yaml:"vms_used"`
}

UserVM is the API payload based on the legacy xmlrpc backend.

type UserVMQuota

type UserVMQuota struct {
	VM UserVM `json:"vm" yaml:"vm"`
}

UserVMQuota is the API payload based on the legacy xmlrpc backend.

type VDC

type VDC struct {
	ID         int           `json:"id" yaml:"id"`
	Name       string        `json:"name" yaml:"name"`
	Groups     VDCGroups     `json:"groups" yaml:"groups"`
	Clusters   VDCClusters   `json:"clusters" yaml:"clusters"`
	Hosts      VDCHosts      `json:"hosts" yaml:"hosts"`
	Datastores VDCDatastores `json:"datastores" yaml:"datastores"`
	Vnets      VDCVnets      `json:"vnets" yaml:"vnets"`
	Template   string        `json:"template" yaml:"template"`
}

VDC is the API payload based on the legacy xmlrpc backend.

type VDCClusters

type VDCClusters struct {
	Cluster []ClusterVDC `json:"cluster" yaml:"cluster"`
}

VDCClusters is the API payload based on the legacy xmlrpc backend.

type VDCDatastore

type VDCDatastore struct {
	ZoneID      int `json:"zone_id" yaml:"zone_id"`
	DatastoreID int `json:"datastore_id" yaml:"datastore_id"`
}

VDCDatastore is the API payload based on the legacy xmlrpc backend.

type VDCDatastores

type VDCDatastores struct {
	Datastore []VDCDatastore `json:"datastore" yaml:"datastore"`
}

VDCDatastores is the API payload based on the legacy xmlrpc backend.

type VDCGroups

type VDCGroups struct {
	ID []int `json:"id" yaml:"id"`
}

VDCGroups is the API payload based on the legacy xmlrpc backend.

type VDCHost

type VDCHost struct {
	ZoneID int `json:"zone_id" yaml:"zone_id"`
	HostID int `json:"host_id" yaml:"host_id"`
}

VDCHost is the API payload based on the legacy xmlrpc backend.

type VDCHosts

type VDCHosts struct {
	Host []VDCHost `json:"host" yaml:"host"`
}

VDCHosts is the API payload based on the legacy xmlrpc backend.

type VDCVnet

type VDCVnet struct {
	ZoneID int `json:"zone_id" yaml:"zone_id"`
	VnetID int `json:"vnet_id" yaml:"vnet_id"`
}

VDCVnet is the API payload based on the legacy xmlrpc backend.

type VDCVnets

type VDCVnets struct {
	Vnet []VDCVnet `json:"vnet" yaml:"vnet"`
}

VDCVnets is the API payload based on the legacy xmlrpc backend.

type VMTemplateData

type VMTemplateData struct {
	Values             map[string]string `json:"values" yaml:"values"`
	VCenterCCRRef      string            `json:"vcenter_ccrref" yaml:"vcenter_ccrref"`
	VCenterInstanceID  string            `json:"vcenter_instance_id" yaml:"vcenter_instance_id"`
	VCenterTemplateRef string            `json:"vcenter_template_ref" yaml:"vcenter_template_ref"`
}

VMTemplateData is the API payload based on the legacy xmlrpc backend.

type VNLock

type VNLock struct {
	Locked int `json:"locked" yaml:"locked"`
	Owner  int `json:"owner" yaml:"owner"`
	Time   int `json:"time" yaml:"time"`
	ReqID  int `json:"req_id" yaml:"req_id"`
}

VNLock is the API payload based on the legacy xmlrpc backend.

type VNPermissions

type VNPermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

VNPermissions is the API payload based on the legacy xmlrpc backend.

type VNTemplate

type VNTemplate struct {
	ID          int            `json:"id" yaml:"id"`
	UID         int            `json:"uid" yaml:"uid"`
	GID         int            `json:"gid" yaml:"gid"`
	Uname       string         `json:"uname" yaml:"uname"`
	Gname       string         `json:"gname" yaml:"gname"`
	Name        string         `json:"name" yaml:"name"`
	Lock        VNLock         `json:"lock" yaml:"lock"`
	Permissions VNPermissions  `json:"permissions" yaml:"permissions"`
	Regtime     int            `json:"regtime" yaml:"regtime"`
	Template    VNTemplateData `json:"template" yaml:"template"`
}

VNTemplate is the API payload based on the legacy xmlrpc backend.

type VNTemplateData

type VNTemplateData struct {
	Values map[string]string `json:"values" yaml:"values"`
	VNMAD  string            `json:"vnmad" yaml:"vnmad"`
}

VNTemplateData is the API payload based on the legacy xmlrpc backend.

type VNet

type VNet struct {
	ID                   int             `json:"id" yaml:"id"`
	UID                  int             `json:"uid" yaml:"uid"`
	GID                  int             `json:"gid" yaml:"gid"`
	Uname                string          `json:"uname" yaml:"uname"`
	Gname                string          `json:"gname" yaml:"gname"`
	Name                 string          `json:"name" yaml:"name"`
	Lock                 VNetLock        `json:"lock" yaml:"lock"`
	Permissions          VNetPermissions `json:"permissions" yaml:"permissions"`
	Clusters             VNetClusters    `json:"clusters" yaml:"clusters"`
	Bridge               string          `json:"bridge" yaml:"bridge"`
	BridgeType           string          `json:"bridge_type" yaml:"bridge_type"`
	State                int             `json:"state" yaml:"state"`
	PrevState            int             `json:"prev_state" yaml:"prev_state"`
	ParentNetworkID      string          `json:"parent_network_id" yaml:"parent_network_id"`
	VNMAD                string          `json:"vnmad" yaml:"vnmad"`
	Phydev               string          `json:"phydev" yaml:"phydev"`
	VLANID               string          `json:"vlanid" yaml:"vlanid"`
	OuterVLANID          string          `json:"outer_vlanid" yaml:"outer_vlanid"`
	VLANIDAutomatic      string          `json:"vlanidautomatic" yaml:"vlanidautomatic"`
	OuterVLANIDAutomatic string          `json:"outer_vlanidautomatic" yaml:"outer_vlanidautomatic"`
	UsedLeases           int             `json:"used_leases" yaml:"used_leases"`
	Vrouters             VNetVRouters    `json:"vrouters" yaml:"vrouters"`
	Template             VNetTemplate    `json:"template" yaml:"template"`
	ARPool               VNetARPool      `json:"arpool" yaml:"arpool"`
}

VNet is the API payload based on the legacy xmlrpc backend.

type VNetAR

type VNetAR struct {
	ARID              string     `json:"arid" yaml:"arid"`
	GlobalPrefix      string     `json:"global_prefix" yaml:"global_prefix"`
	IP                string     `json:"ip" yaml:"ip"`
	MAC               string     `json:"mac" yaml:"mac"`
	ParentNetworkARID string     `json:"parent_network_arid" yaml:"parent_network_arid"`
	Size              int        `json:"size" yaml:"size"`
	Type              string     `json:"type" yaml:"type"`
	UlaPrefix         string     `json:"ula_prefix" yaml:"ula_prefix"`
	VNMAD             string     `json:"vnmad" yaml:"vnmad"`
	MACEnd            string     `json:"macend" yaml:"macend"`
	IPEnd             string     `json:"ipend" yaml:"ipend"`
	IP6Ula            string     `json:"ip6_ula" yaml:"ip6_ula"`
	IP6UlaEnd         string     `json:"ip6_ula_end" yaml:"ip6_ula_end"`
	IP6Global         string     `json:"ip6_global" yaml:"ip6_global"`
	IP6GlobalEnd      string     `json:"ip6_global_end" yaml:"ip6_global_end"`
	IP6               string     `json:"ip6" yaml:"ip6"`
	IP6End            string     `json:"ip6_end" yaml:"ip6_end"`
	PortStart         string     `json:"port_start" yaml:"port_start"`
	PortSize          string     `json:"port_size" yaml:"port_size"`
	UsedLeases        string     `json:"used_leases" yaml:"used_leases"`
	Leases            VNetLeases `json:"leases" yaml:"leases"`
}

VNetAR is the API payload based on the legacy xmlrpc backend.

type VNetARPool

type VNetARPool struct {
	AR []VNetAR `json:"ar" yaml:"ar"`
}

VNetARPool is the API payload based on the legacy xmlrpc backend.

type VNetClusters

type VNetClusters struct {
	ID []int `json:"id" yaml:"id"`
}

VNetClusters is the API payload based on the legacy xmlrpc backend.

type VNetLease

type VNetLease struct {
	IP        string `json:"ip" yaml:"ip"`
	IP6       string `json:"ip6" yaml:"ip6"`
	IP6Global string `json:"ip6_global" yaml:"ip6_global"`
	IP6Link   string `json:"ip6_link" yaml:"ip6_link"`
	IP6Ula    string `json:"ip6_ula" yaml:"ip6_ula"`
	MAC       string `json:"mac" yaml:"mac"`
	VM        int    `json:"vm" yaml:"vm"`
	Vnet      int    `json:"vnet" yaml:"vnet"`
	Vrouter   int    `json:"vrouter" yaml:"vrouter"`
}

VNetLease is the API payload based on the legacy xmlrpc backend.

type VNetLeases

type VNetLeases struct {
	Lease []VNetLease `json:"lease" yaml:"lease"`
}

VNetLeases is the API payload based on the legacy xmlrpc backend.

type VNetLock

type VNetLock struct {
	Locked int `json:"locked" yaml:"locked"`
	Owner  int `json:"owner" yaml:"owner"`
	Time   int `json:"time" yaml:"time"`
	ReqID  int `json:"req_id" yaml:"req_id"`
}

VNetLock is the API payload based on the legacy xmlrpc backend.

type VNetPermissions

type VNetPermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

VNetPermissions is the API payload based on the legacy xmlrpc backend.

type VNetRecovery

type VNetRecovery int

VNetRecovery is the recovery action to take when a vnet is in error.

const (
	FailureVNetRecovery VNetRecovery = iota // failure
	SuccessVNetRecovery                     // success
	RetryVNetRecovery                       // retry_vnet
	DeleteVNetRecovery                      // delete_vnet
)

VNetRecovery values.

func VNetRecoveryString

func VNetRecoveryString(s string) (VNetRecovery, error)

VNetRecoveryString retrieves an enum value from the enum constants string name. Throws an error if the param is not part of the enum.

func VNetRecoveryValues

func VNetRecoveryValues() []VNetRecovery

VNetRecoveryValues returns all values of the enum

func (VNetRecovery) IsAVNetRecovery

func (i VNetRecovery) IsAVNetRecovery() bool

IsAVNetRecovery returns "true" if the value is listed in the enum definition. "false" otherwise

func (VNetRecovery) MarshalText

func (i VNetRecovery) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface for VNetRecovery

func (VNetRecovery) String

func (i VNetRecovery) String() string

func (*VNetRecovery) UnmarshalText

func (i *VNetRecovery) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface for VNetRecovery

type VNetTemplate

type VNetTemplate struct {
	Values               map[string]string `json:"values" yaml:"values"`
	DNS                  string            `json:"dns" yaml:"dns"`
	Gateway              string            `json:"gateway" yaml:"gateway"`
	Gateway6             string            `json:"gateway6" yaml:"gateway6"`
	GuestMTU             int               `json:"guest_mtu" yaml:"guest_mtu"`
	IP6Method            string            `json:"ip6_method" yaml:"ip6_method"`
	IP6Metric            string            `json:"ip6_metric" yaml:"ip6_metric"`
	Method               string            `json:"method" yaml:"method"`
	Metric               string            `json:"metric" yaml:"metric"`
	NetworkAddress       string            `json:"network_address" yaml:"network_address"`
	NetworkMask          string            `json:"network_mask" yaml:"network_mask"`
	SearchDomain         string            `json:"search_domain" yaml:"search_domain"`
	VCenterFromWild      string            `json:"vcenter_from_wild" yaml:"vcenter_from_wild"`
	VCenterInstanceID    string            `json:"vcenter_instance_id" yaml:"vcenter_instance_id"`
	VCenterNetRef        string            `json:"vcenter_net_ref" yaml:"vcenter_net_ref"`
	VCenterPortgroupType string            `json:"vcenter_portgroup_type" yaml:"vcenter_portgroup_type"`
	VCenterTemplateRef   string            `json:"vcenter_template_ref" yaml:"vcenter_template_ref"`
}

VNetTemplate is the API payload based on the legacy xmlrpc backend.

type VNetVRouters

type VNetVRouters struct {
	ID []int `json:"id" yaml:"id"`
}

VNetVRouters is the API payload based on the legacy xmlrpc backend OneVrouters.

type VRouter

type VRouter struct {
	ID          int                `json:"id" yaml:"id"`
	UID         int                `json:"uid" yaml:"uid"`
	GID         int                `json:"gid" yaml:"gid"`
	Uname       string             `json:"uname" yaml:"uname"`
	Gname       string             `json:"gname" yaml:"gname"`
	Name        string             `json:"name" yaml:"name"`
	Permissions VRouterPermissions `json:"permissions" yaml:"permissions"`
	Lock        VRouterLock        `json:"lock" yaml:"lock"`
	VMs         VRouterVMs         `json:"vms" yaml:"vms"`
}

VRouter is the API payload based on the legacy xmlrpc backend.

type VRouterLock

type VRouterLock struct {
	Locked int `json:"locked" yaml:"locked"`
	Owner  int `json:"owner" yaml:"owner"`
	Time   int `json:"time" yaml:"time"`
	ReqID  int `json:"req_id" yaml:"req_id"`
}

VRouterLock is the API payload based on the legacy xmlrpc backend.

type VRouterPermissions

type VRouterPermissions struct {
	OwnerU int `json:"owner_u" yaml:"owner_u"`
	OwnerM int `json:"owner_m" yaml:"owner_m"`
	OwnerA int `json:"owner_a" yaml:"owner_a"`
	GroupU int `json:"group_u" yaml:"group_u"`
	GroupM int `json:"group_m" yaml:"group_m"`
	GroupA int `json:"group_a" yaml:"group_a"`
	OtherU int `json:"other_u" yaml:"other_u"`
	OtherM int `json:"other_m" yaml:"other_m"`
	OtherA int `json:"other_a" yaml:"other_a"`
}

VRouterPermissions is the API payload based on the legacy xmlrpc backend.

type VRouterVMs

type VRouterVMs struct {
	ID []int `json:"id" yaml:"id"`
}

VRouterVMs is the API payload based on the legacy xmlrpc backend.

type Zone

type Zone struct {
	ID         int            `json:"id" yaml:"id"`
	Name       string         `json:"name" yaml:"name"`
	State      int            `json:"state" yaml:"state"`
	Template   ZoneTemplate   `json:"template" yaml:"template"`
	ServerPool ZoneServerPool `json:"server_pool" yaml:"server_pool"`
}

Zone is the API payload based on the legacy xmlrpc backend.

type ZoneServer

type ZoneServer struct {
	Endpoint    string `json:"endpoint" yaml:"endpoint"`
	ID          int    `json:"id" yaml:"id"`
	Name        string `json:"name" yaml:"name"`
	State       int    `json:"state" yaml:"state"`
	Term        int    `json:"term" yaml:"term"`
	Votedfor    int    `json:"votedfor" yaml:"votedfor"`
	Commit      int    `json:"commit" yaml:"commit"`
	LogIndex    int    `json:"log_index" yaml:"log_index"`
	FedlogIndex int    `json:"fedlog_index" yaml:"fedlog_index"`
}

ZoneServer is the API payload based on the legacy xmlrpc backend.

type ZoneServerPool

type ZoneServerPool struct {
	Server []ZoneServer `json:"server" yaml:"server"`
}

ZoneServerPool is the API payload based on the legacy xmlrpc backend.

type ZoneTemplate

type ZoneTemplate struct {
	Endpoint string `json:"endpoint" yaml:"endpoint"`
}

ZoneTemplate is the API payload based on the legacy xmlrpc backend.

Jump to

Keyboard shortcuts

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