Help us shape the future of Go! Take the 2026 Go Developer Survey

egoscale

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Dec 11, 2017 License: Apache-2.0 Imports: 13 Imported by: 0

README

egoscale: exoscale driver for golang

Build Status

An API wrapper for the exoscale public cloud

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddIpToNicResponse

type AddIpToNicResponse struct {
	Id        string `json:"id"`
	IpAddress string `json:"ipaddress"`
	NetworkId string `json:"networkid"`
	NicId     string `json:"nicid"`
	VmId      string `json:"virtualmachineid"`
}

type AffinityGroup

type AffinityGroup struct {
	Name        string `json:"name,omitempty"`
	Type        string `json:"type,omitempty"`
	Description string `json:"description,omitempty"`
	Id          string `json:"id,omitempty"`
	Domainid    string `json:"domainid,omitempty"`
	Domain      string `json:"domain,omitempty"`
	Account     string `json:"account,omitempty"`
}

type AuthorizeSecurityGroupEgressResponse

type AuthorizeSecurityGroupEgressResponse struct {
	JobID             string `json:"jobid,omitempty"`
	Account           string `json:"account,omitempty"`
	Cidr              string `json:"cidr,omitempty"`
	Endport           int    `json:"endport,omitempty"`
	Icmpcode          int    `json:"icmpcode,omitempty"`
	Icmptype          int    `json:"icmptype,omitempty"`
	Protocol          string `json:"protocol,omitempty"`
	Ruleid            string `json:"ruleid,omitempty"`
	Securitygroupname string `json:"securitygroupname,omitempty"`
	Startport         int    `json:"startport,omitempty"`
}

type AuthorizeSecurityGroupIngressResponse

type AuthorizeSecurityGroupIngressResponse struct {
	JobID             string `json:"jobid,omitempty"`
	Account           string `json:"account,omitempty"`
	Cidr              string `json:"cidr,omitempty"`
	Endport           int    `json:"endport,omitempty"`
	Icmpcode          int    `json:"icmpcode,omitempty"`
	Icmptype          int    `json:"icmptype,omitempty"`
	Protocol          string `json:"protocol,omitempty"`
	Ruleid            string `json:"ruleid,omitempty"`
	Securitygroupname string `json:"securitygroupname,omitempty"`
	Startport         int    `json:"startport,omitempty"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(endpoint string, apiKey string, apiSecret string) *Client

func (*Client) AddIpToNic

func (exo *Client) AddIpToNic(nic_id string, ip_address string) (string, error)

func (*Client) AsyncToVirtualMachine

func (exo *Client) AsyncToVirtualMachine(resp QueryAsyncJobResultResponse) (*DeployVirtualMachineResponse, error)

func (*Client) CreateAffinityGroup

func (exo *Client) CreateAffinityGroup(name string) (string, error)

func (*Client) CreateDomain

func (exo *Client) CreateDomain(name string) (*DNSDomain, error)

func (*Client) CreateEgressRule

func (exo *Client) CreateEgressRule(rule SecurityGroupRule) (*AuthorizeSecurityGroupEgressResponse, error)

func (*Client) CreateIngressRule

func (exo *Client) CreateIngressRule(rule SecurityGroupRule) (*AuthorizeSecurityGroupIngressResponse, error)

func (*Client) CreateKeypair

func (exo *Client) CreateKeypair(name string) (*CreateSSHKeyPairResponse, error)

func (*Client) CreateRecord

func (exo *Client) CreateRecord(name string, rec DNSRecord) (*DNSRecordResponse, error)

func (*Client) CreateSecurityGroupWithRules

func (exo *Client) CreateSecurityGroupWithRules(name string, ingress []SecurityGroupRule, egress []SecurityGroupRule) (*CreateSecurityGroupResponse, error)

func (*Client) CreateVirtualMachine

func (exo *Client) CreateVirtualMachine(p MachineProfile) (string, error)

func (*Client) DeleteAffinityGroup

func (exo *Client) DeleteAffinityGroup(name string) (string, error)

func (*Client) DeleteDomain

func (exo *Client) DeleteDomain(name string) error

func (*Client) DeleteKeypair

func (exo *Client) DeleteKeypair(name string) (*StandardResponse, error)

func (*Client) DeleteRecord

func (exo *Client) DeleteRecord(name string, rec DNSRecord) error

func (*Client) DeleteSecurityGroup

func (exo *Client) DeleteSecurityGroup(name string) error

func (*Client) DestroyVirtualMachine

func (exo *Client) DestroyVirtualMachine(id string) (string, error)

func (*Client) DetailedRequest

func (exo *Client) DetailedRequest(uri string, params string, method string, header http.Header) (json.RawMessage, error)

func (*Client) GetAffinityGroups

func (exo *Client) GetAffinityGroups() (map[string]string, error)

func (*Client) GetDomain

func (exo *Client) GetDomain(name string) (*DNSDomain, error)

func (*Client) GetImages

func (exo *Client) GetImages() (map[string]map[int]string, error)

GetImages list the available featured images and group them by name, then size.

func (*Client) GetKeypairs

func (exo *Client) GetKeypairs() ([]SSHKeyPair, error)

func (*Client) GetProfiles

func (exo *Client) GetProfiles() (map[string]string, error)

func (*Client) GetRecords

func (exo *Client) GetRecords(name string) ([]*DNSRecordResponse, error)

func (*Client) GetSecurityGroupId

func (exo *Client) GetSecurityGroupId(name string) (string, error)

func (*Client) GetSecurityGroups

func (exo *Client) GetSecurityGroups() (map[string]SecurityGroup, error)

func (*Client) GetTopology

func (exo *Client) GetTopology() (*Topology, error)

func (*Client) GetVirtualMachine

func (exo *Client) GetVirtualMachine(id string) (*VirtualMachine, error)

func (*Client) GetZones

func (exo *Client) GetZones() (map[string]string, error)

func (*Client) ListVirtualMachines

func (exo *Client) ListVirtualMachines() ([]*VirtualMachine, error)

func (*Client) ParseResponse

func (exo *Client) ParseResponse(resp *http.Response) (json.RawMessage, error)

func (*Client) PollAsyncJob

func (exo *Client) PollAsyncJob(jobid string) (*QueryAsyncJobResultResponse, error)

func (*Client) RebootVirtualMachine

func (exo *Client) RebootVirtualMachine(id string) (string, error)

func (*Client) RegisterKeypair

func (exo *Client) RegisterKeypair(name string, key string) (*CreateSSHKeyPairResponse, error)

func (*Client) RemoveIpFromNic

func (exo *Client) RemoveIpFromNic(nic_id string) (string, error)

func (*Client) Request

func (exo *Client) Request(command string, params url.Values) (json.RawMessage, error)

func (*Client) StartVirtualMachine

func (exo *Client) StartVirtualMachine(id string) (string, error)

func (*Client) StopVirtualMachine

func (exo *Client) StopVirtualMachine(id string) (string, error)

func (*Client) UpdateRecord

func (exo *Client) UpdateRecord(name string, rec DNSRecord) (*DNSRecordResponse, error)

type CreateAffinityGroupResponse

type CreateAffinityGroupResponse struct {
	JobId string `json:"jobid,omitempty"`
}

type CreateAffinityGroupResponseWrapper

type CreateAffinityGroupResponseWrapper struct {
	Wrapped AffinityGroup `json:"affinitygroup"`
}

type CreateSSHKeyPairResponse

type CreateSSHKeyPairResponse struct {
	Privatekey string `json:"privatekey,omitempty"`
}

type CreateSSHKeyPairWrappedResponse

type CreateSSHKeyPairWrappedResponse struct {
	Wrapped CreateSSHKeyPairResponse `json:"keypair,omitempty"`
}

type CreateSecurityGroupResponse

type CreateSecurityGroupResponse struct {
	Account     string `json:"account,omitempty"`
	Description string `json:"description,omitempty"`
	Domain      string `json:"domain,omitempty"`
	Domainid    string `json:"domainid,omitempty"`
	Id          string `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Project     string `json:"project,omitempty"`
	Projectid   string `json:"projectid,omitempty"`
}

type CreateSecurityGroupResponseWrapper

type CreateSecurityGroupResponseWrapper struct {
	Wrapped CreateSecurityGroupResponse `json:"securitygroup"`
}

type DNSDomain

type DNSDomain struct {
	Id             int64  `json:"id"`
	UserId         int64  `json:"user_id"`
	RegistrantId   int64  `json:"registrant_id,omitempty"`
	Name           string `json:"name"`
	UnicodeName    string `json:"unicode_name"`
	Token          string `json:"token"`
	State          string `json:"state"`
	Language       string `json:"language,omitempty"`
	Lockable       bool   `json:"lockable"`
	AutoRenew      bool   `json:"auto_renew"`
	WhoisProtected bool   `json:"whois_protected"`
	RecordCount    int64  `json:"record_count"`
	ServiceCount   int64  `json:"service_count"`
	ExpiresOn      string `json:"expires_on,omitempty"`
	CreatedAt      string `json:"created_at"`
	UpdatedAt      string `json:"updated_at"`
}

type DNSDomainCreateRequest

type DNSDomainCreateRequest struct {
	Domain struct {
		Name string `json:"name"`
	} `json:"domain"`
}

type DNSError

type DNSError struct {
	Name []string `json:"name"`
}

type DNSRecord

type DNSRecord struct {
	Id         int64  `json:"id,omitempty"`
	DomainId   int64  `json:"domain_id,omitempty"`
	Name       string `json:"name"`
	Ttl        int    `json:"ttl,omitempty"`
	CreatedAt  string `json:"created_at,omitempty"`
	UpdatedAt  string `json:"updated_at,omitempty"`
	Content    string `json:"content"`
	RecordType string `json:"record_type"`
	Prio       int    `json:"prio,omitempty"`
}

type DNSRecordResponse

type DNSRecordResponse struct {
	Record DNSRecord `json:"record"`
}

type DeleteAffinityGroupResponse

type DeleteAffinityGroupResponse struct {
	JobId string `json:"jobid,omitempty"`
}

type DeleteSSHKeyPairResponse

type DeleteSSHKeyPairResponse struct {
	Privatekey string `json:"privatekey,omitempty"`
}

type DeployVirtualMachineResponse

type DeployVirtualMachineResponse struct {
	JobID         string `json:"jobid,omitempty"`
	Account       string `json:"account,omitempty"`
	Affinitygroup []struct {
		Account           string   `json:"account,omitempty"`
		Description       string   `json:"description,omitempty"`
		Domain            string   `json:"domain,omitempty"`
		Domainid          string   `json:"domainid,omitempty"`
		Id                string   `json:"id,omitempty"`
		Name              string   `json:"name,omitempty"`
		Type              string   `json:"type,omitempty"`
		VirtualmachineIds []string `json:"virtualmachineIds,omitempty"`
	} `json:"affinitygroup,omitempty"`
	Cpunumber             int               `json:"cpunumber,omitempty"`
	Cpuspeed              int               `json:"cpuspeed,omitempty"`
	Cpuused               string            `json:"cpuused,omitempty"`
	Created               string            `json:"created,omitempty"`
	Details               map[string]string `json:"details,omitempty"`
	Diskioread            int64             `json:"diskioread,omitempty"`
	Diskiowrite           int64             `json:"diskiowrite,omitempty"`
	Diskkbsread           int64             `json:"diskkbsread,omitempty"`
	Diskkbswrite          int64             `json:"diskkbswrite,omitempty"`
	Displayname           string            `json:"displayname,omitempty"`
	Displayvm             bool              `json:"displayvm,omitempty"`
	Domain                string            `json:"domain,omitempty"`
	Domainid              string            `json:"domainid,omitempty"`
	Forvirtualnetwork     bool              `json:"forvirtualnetwork,omitempty"`
	Group                 string            `json:"group,omitempty"`
	Groupid               string            `json:"groupid,omitempty"`
	Guestosid             string            `json:"guestosid,omitempty"`
	Haenable              bool              `json:"haenable,omitempty"`
	Hostid                string            `json:"hostid,omitempty"`
	Hostname              string            `json:"hostname,omitempty"`
	Hypervisor            string            `json:"hypervisor,omitempty"`
	Id                    string            `json:"id,omitempty"`
	Instancename          string            `json:"instancename,omitempty"`
	Isdynamicallyscalable bool              `json:"isdynamicallyscalable,omitempty"`
	Isodisplaytext        string            `json:"isodisplaytext,omitempty"`
	Isoid                 string            `json:"isoid,omitempty"`
	Isoname               string            `json:"isoname,omitempty"`
	Keypair               string            `json:"keypair,omitempty"`
	Memory                int               `json:"memory,omitempty"`
	Name                  string            `json:"name,omitempty"`
	Networkkbsread        int64             `json:"networkkbsread,omitempty"`
	Networkkbswrite       int64             `json:"networkkbswrite,omitempty"`
	Nic                   []struct {
		Broadcasturi string   `json:"broadcasturi,omitempty"`
		Gateway      string   `json:"gateway,omitempty"`
		Id           string   `json:"id,omitempty"`
		Ipaddress    string   `json:"ipaddress,omitempty"`
		Isdefault    bool     `json:"isdefault,omitempty"`
		Isolationuri string   `json:"isolationuri,omitempty"`
		Macaddress   string   `json:"macaddress,omitempty"`
		Netmask      string   `json:"netmask,omitempty"`
		Networkid    string   `json:"networkid,omitempty"`
		Networkname  string   `json:"networkname,omitempty"`
		Secondaryip  []string `json:"secondaryip,omitempty"`
		Traffictype  string   `json:"traffictype,omitempty"`
		Type         string   `json:"type,omitempty"`
	} `json:"nic,omitempty"`
	Password            string `json:"password,omitempty"`
	Passwordenabled     bool   `json:"passwordenabled,omitempty"`
	Project             string `json:"project,omitempty"`
	Projectid           string `json:"projectid,omitempty"`
	Publicip            string `json:"publicip,omitempty"`
	Publicipid          string `json:"publicipid,omitempty"`
	Rootdeviceid        int64  `json:"rootdeviceid,omitempty"`
	Rootdevicetype      string `json:"rootdevicetype,omitempty"`
	Serviceofferingid   string `json:"serviceofferingid,omitempty"`
	Serviceofferingname string `json:"serviceofferingname,omitempty"`
	Servicestate        string `json:"servicestate,omitempty"`
	State               string `json:"state,omitempty"`
	Templatedisplaytext string `json:"templatedisplaytext,omitempty"`
	Templateid          string `json:"templateid,omitempty"`
	Templatename        string `json:"templatename,omitempty"`
	Zoneid              string `json:"zoneid,omitempty"`
	Zonename            string `json:"zonename,omitempty"`
}

type DeployVirtualMachineWrappedResponse

type DeployVirtualMachineWrappedResponse struct {
	Wrapped DeployVirtualMachineResponse `json:"virtualmachine"`
}

type DestroyVirtualMachineResponse

type DestroyVirtualMachineResponse struct {
	JobID string `json:"jobid,omitempty"`
}

type Error

type Error struct {
	ErrorCode   int    `json:"errorcode"`
	CSErrorCode int    `json:"cserrorcode"`
	ErrorText   string `json:"errortext"`
}

func (*Error) Error

func (e *Error) Error() error

type ListAffinityGroupsResponse

type ListAffinityGroupsResponse struct {
	Count          int              `json:"count"`
	AffinityGroups []*AffinityGroup `json:"affinitygroup"`
}

type ListSSHKeyPairsResponse

type ListSSHKeyPairsResponse struct {
	Count       int           `json:"count"`
	SSHKeyPairs []*SSHKeyPair `json:"sshkeypair"`
}

type ListSecurityGroupsResponse

type ListSecurityGroupsResponse struct {
	Count          int              `json:"count"`
	SecurityGroups []*SecurityGroup `json:"securitygroup"`
}

type ListServiceOfferingsResponse

type ListServiceOfferingsResponse struct {
	Count            int                `json:"count"`
	ServiceOfferings []*ServiceOffering `json:"serviceoffering"`
}

type ListTemplatesResponse

type ListTemplatesResponse struct {
	Count     int         `json:"count"`
	Templates []*Template `json:"template"`
}

type ListVirtualMachinesResponse

type ListVirtualMachinesResponse struct {
	Count           int               `json:"count"`
	VirtualMachines []*VirtualMachine `json:"virtualmachine"`
}

type ListZonesResponse

type ListZonesResponse struct {
	Count int     `json:"count"`
	Zones []*Zone `json:"zone"`
}

type MachineProfile

type MachineProfile struct {
	Name            string
	SecurityGroups  []string
	Keypair         string
	Userdata        string
	ServiceOffering string
	Template        string
	Zone            string
	AffinityGroups  []string
}

type QueryAsyncJobResultResponse

type QueryAsyncJobResultResponse struct {
	Accountid       string          `json:"accountid,omitempty"`
	Cmd             string          `json:"cmd,omitempty"`
	Created         string          `json:"created,omitempty"`
	Jobinstanceid   string          `json:"jobinstanceid,omitempty"`
	Jobinstancetype string          `json:"jobinstancetype,omitempty"`
	Jobprocstatus   int             `json:"jobprocstatus,omitempty"`
	Jobresult       json.RawMessage `json:"jobresult,omitempty"`
	Jobresultcode   int             `json:"jobresultcode,omitempty"`
	Jobresulttype   string          `json:"jobresulttype,omitempty"`
	Jobstatus       int             `json:"jobstatus,omitempty"`
	Userid          string          `json:"userid,omitempty"`
}

type RebootVirtualMachineResponse

type RebootVirtualMachineResponse struct {
	JobID string `json:"jobid,omitempty"`
}

type RemoveIpFromNicResponse

type RemoveIpFromNicResponse struct {
	JobID string `json:"jobid,omitempty"`
}

type SSHKeyPair

type SSHKeyPair struct {
	Fingerprint string `json:"fingerprint,omitempty"`
	Name        string `json:"name,omitempty"`
}

type SecurityGroup

type SecurityGroup struct {
	Account      string `json:"account,omitempty"`
	Description  string `json:"description,omitempty"`
	Domain       string `json:"domain,omitempty"`
	Domainid     string `json:"domainid,omitempty"`
	Id           string `json:"id,omitempty"`
	Name         string `json:"name,omitempty"`
	Project      string `json:"project,omitempty"`
	Projectid    string `json:"projectid,omitempty"`
	IngressRules []struct {
		RuleId    string   `json:"ruleid,omitempty"`
		Protocol  string   `json:"protocol,omitempty"`
		StartPort int      `json:"startport,omitempty"`
		EndPort   int      `json:"endport,omitempty"`
		Cidr      string   `json:"cidr,omitempty"`
		IcmpCode  int      `json:"icmpcode,omitempty"`
		IcmpType  int      `json:"icmptype,omitempty"`
		Tags      []string `json:"tags,omitempty"`
	} `json:"ingressrule,omitempty"`
	EgressRules []struct {
		RuleId    string   `json:"ruleid,omitempty"`
		Protocol  string   `json:"protocol,omitempty"`
		StartPort int      `json:"startport,omitempty"`
		EndPort   int      `json:"endport,omitempty"`
		Cidr      string   `json:"cidr,omitempty"`
		IcmpCode  int      `json:"icmpcode,omitempty"`
		IcmpType  int      `json:"icmptype,omitempty"`
		Tags      []string `json:"tags,omitempty"`
	} `json:"egressrule,omitempty"`
	Tags []string `json:"tags,omitempty"`
}

type SecurityGroupRule

type SecurityGroupRule struct {
	Cidr                  string
	IcmpType              int
	IcmpCode              int
	Port                  int
	Protocol              string
	SecurityGroupId       string
	UserSecurityGroupList []UserSecurityGroup `json:"usersecuritygrouplist,omitempty"`
}

type ServiceOffering

type ServiceOffering struct {
	Cpunumber              int               `json:"cpunumber,omitempty"`
	Cpuspeed               int               `json:"cpuspeed,omitempty"`
	Displaytext            string            `json:"displaytext,omitempty"`
	Domain                 string            `json:"domain,omitempty"`
	Domainid               string            `json:"domainid,omitempty"`
	Hosttags               string            `json:"hosttags,omitempty"`
	Id                     string            `json:"id,omitempty"`
	Iscustomized           bool              `json:"iscustomized,omitempty"`
	Issystem               bool              `json:"issystem,omitempty"`
	Isvolatile             bool              `json:"isvolatile,omitempty"`
	Memory                 int               `json:"memory,omitempty"`
	Name                   string            `json:"name,omitempty"`
	Networkrate            int               `json:"networkrate,omitempty"`
	Serviceofferingdetails map[string]string `json:"serviceofferingdetails,omitempty"`
}

type StandardResponse

type StandardResponse struct {
	Success     string `json:"success"`
	DisplayText string `json:"displaytext"`
}

type StartVirtualMachineResponse

type StartVirtualMachineResponse struct {
	JobID string `json:"jobid,omitempty"`
}

type StopVirtualMachineResponse

type StopVirtualMachineResponse struct {
	JobID string `json:"jobid,omitempty"`
}

type Template

type Template struct {
	Account               string            `json:"account,omitempty"`
	Accountid             string            `json:"accountid,omitempty"`
	Bootable              bool              `json:"bootable,omitempty"`
	Checksum              string            `json:"checksum,omitempty"`
	Created               string            `json:"created,omitempty"`
	CrossZones            bool              `json:"crossZones,omitempty"`
	Details               map[string]string `json:"details,omitempty"`
	Displaytext           string            `json:"displaytext,omitempty"`
	Domain                string            `json:"domain,omitempty"`
	Domainid              string            `json:"domainid,omitempty"`
	Format                string            `json:"format,omitempty"`
	Hostid                string            `json:"hostid,omitempty"`
	Hostname              string            `json:"hostname,omitempty"`
	Hypervisor            string            `json:"hypervisor,omitempty"`
	Id                    string            `json:"id,omitempty"`
	Isdynamicallyscalable bool              `json:"isdynamicallyscalable,omitempty"`
	Isextractable         bool              `json:"isextractable,omitempty"`
	Isfeatured            bool              `json:"isfeatured,omitempty"`
	Ispublic              bool              `json:"ispublic,omitempty"`
	Isready               bool              `json:"isready,omitempty"`
	Name                  string            `json:"name,omitempty"`
	Ostypeid              string            `json:"ostypeid,omitempty"`
	Ostypename            string            `json:"ostypename,omitempty"`
	Passwordenabled       bool              `json:"passwordenabled,omitempty"`
	Project               string            `json:"project,omitempty"`
	Projectid             string            `json:"projectid,omitempty"`
	Removed               string            `json:"removed,omitempty"`
	Size                  int64             `json:"size,omitempty"`
	Sourcetemplateid      string            `json:"sourcetemplateid,omitempty"`
	Sshkeyenabled         bool              `json:"sshkeyenabled,omitempty"`
	Status                string            `json:"status,omitempty"`
	Zoneid                string            `json:"zoneid,omitempty"`
	Zonename              string            `json:"zonename,omitempty"`
}

type Topology

type Topology struct {
	Zones          map[string]string
	Images         map[string]map[int]string
	Profiles       map[string]string
	Keypairs       []string
	SecurityGroups map[string]string
	AffinityGroups map[string]string
}

type UserSecurityGroup

type UserSecurityGroup struct {
	Group   string `json:"group,omitempty"`
	Account string `json:"account,omitempty"`
}

type VirtualMachine

type VirtualMachine struct {
	Account               string            `json:"account,omitempty"`
	Cpunumber             int               `json:"cpunumber,omitempty"`
	Cpuspeed              int               `json:"cpuspeed,omitempty"`
	Cpuused               string            `json:"cpuused,omitempty"`
	Created               string            `json:"created,omitempty"`
	Details               map[string]string `json:"details,omitempty"`
	Diskioread            int64             `json:"diskioread,omitempty"`
	Diskiowrite           int64             `json:"diskiowrite,omitempty"`
	Diskkbsread           int64             `json:"diskkbsread,omitempty"`
	Diskkbswrite          int64             `json:"diskkbswrite,omitempty"`
	Displayname           string            `json:"displayname,omitempty"`
	Displayvm             bool              `json:"displayvm,omitempty"`
	Domain                string            `json:"domain,omitempty"`
	Domainid              string            `json:"domainid,omitempty"`
	Forvirtualnetwork     bool              `json:"forvirtualnetwork,omitempty"`
	Group                 string            `json:"group,omitempty"`
	Groupid               string            `json:"groupid,omitempty"`
	Guestosid             string            `json:"guestosid,omitempty"`
	Haenable              bool              `json:"haenable,omitempty"`
	Hostid                string            `json:"hostid,omitempty"`
	Hostname              string            `json:"hostname,omitempty"`
	Hypervisor            string            `json:"hypervisor,omitempty"`
	Id                    string            `json:"id,omitempty"`
	Instancename          string            `json:"instancename,omitempty"`
	Isdynamicallyscalable bool              `json:"isdynamicallyscalable,omitempty"`
	Isodisplaytext        string            `json:"isodisplaytext,omitempty"`
	Isoid                 string            `json:"isoid,omitempty"`
	Isoname               string            `json:"isoname,omitempty"`
	Keypair               string            `json:"keypair,omitempty"`
	Memory                int               `json:"memory,omitempty"`
	Name                  string            `json:"name,omitempty"`
	Networkkbsread        int64             `json:"networkkbsread,omitempty"`
	Networkkbswrite       int64             `json:"networkkbswrite,omitempty"`
	Nic                   []struct {
		Broadcasturi string `json:"broadcasturi,omitempty"`
		Gateway      string `json:"gateway,omitempty"`
		Id           string `json:"id,omitempty"`
		Ip6address   string `json:"ip6address,omitempty"`
		Ip6cidr      string `json:"ip6cidr,omitempty"`
		Ip6gateway   string `json:"ip6gateway,omitempty"`
		Ipaddress    string `json:"ipaddress,omitempty"`
		Isdefault    bool   `json:"isdefault,omitempty"`
		Isolationuri string `json:"isolationuri,omitempty"`
		Macaddress   string `json:"macaddress,omitempty"`
		Netmask      string `json:"netmask,omitempty"`
		Networkid    string `json:"networkid,omitempty"`
		Networkname  string `json:"networkname,omitempty"`
		Secondaryip  []struct {
			Id        string `json:"id,omitempty"`
			IpAddress string `json:"ipaddress,omitempty"`
		} `json:"secondaryip,omitempty"`
		Traffictype string `json:"traffictype,omitempty"`
		Type        string `json:"type,omitempty"`
	} `json:"nic,omitempty"`
	Password        string `json:"password,omitempty"`
	Passwordenabled bool   `json:"passwordenabled,omitempty"`
	Project         string `json:"project,omitempty"`
	Projectid       string `json:"projectid,omitempty"`
	Publicip        string `json:"publicip,omitempty"`
	Publicipid      string `json:"publicipid,omitempty"`
	Rootdeviceid    int64  `json:"rootdeviceid,omitempty"`
	Rootdevicetype  string `json:"rootdevicetype,omitempty"`
	SecurityGroups  []struct {
		Account     string   `json:"account,omitempty"`
		Description string   `json:"description,omitempty"`
		Id          string   `json:"id,omitempty"`
		Name        string   `json:"name,omitemtpy"`
		Tags        []string `json:"tags,omitempty"`
	} `json:"securitygroup,omitempty"`
	Serviceofferingid   string `json:"serviceofferingid,omitempty"`
	Serviceofferingname string `json:"serviceofferingname,omitempty"`
	Servicestate        string `json:"servicestate,omitempty"`
	State               string `json:"state,omitempty"`
	Templatedisplaytext string `json:"templatedisplaytext,omitempty"`
	Templateid          string `json:"templateid,omitempty"`
	Templatename        string `json:"templatename,omitempty"`
	Zoneid              string `json:"zoneid,omitempty"`
	Zonename            string `json:"zonename,omitempty"`
}

type Zone

type Zone struct {
	Allocationstate       string            `json:"allocationstate,omitempty"`
	Description           string            `json:"description,omitempty"`
	Displaytext           string            `json:"displaytext,omitempty"`
	Domain                string            `json:"domain,omitempty"`
	Domainid              string            `json:"domainid,omitempty"`
	Domainname            string            `json:"domainname,omitempty"`
	Id                    string            `json:"id,omitempty"`
	Internaldns1          string            `json:"internaldns1,omitempty"`
	Internaldns2          string            `json:"internaldns2,omitempty"`
	Ip6dns1               string            `json:"ip6dns1,omitempty"`
	Ip6dns2               string            `json:"ip6dns2,omitempty"`
	Localstorageenabled   bool              `json:"localstorageenabled,omitempty"`
	Name                  string            `json:"name,omitempty"`
	Networktype           string            `json:"networktype,omitempty"`
	Resourcedetails       map[string]string `json:"resourcedetails,omitempty"`
	Securitygroupsenabled bool              `json:"securitygroupsenabled,omitempty"`
	Vlan                  string            `json:"vlan,omitempty"`
	Zonetoken             string            `json:"zonetoken,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL