Update Lego
This commit is contained in:
parent
36966da701
commit
253060b4f3
185 changed files with 16653 additions and 3210 deletions
142
vendor/github.com/exoscale/egoscale/service_offerings.go
generated
vendored
142
vendor/github.com/exoscale/egoscale/service_offerings.go
generated
vendored
|
@ -1,61 +1,79 @@
|
|||
package egoscale
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// ServiceOffering corresponds to the Compute Offerings
|
||||
//
|
||||
// A service offering correspond to some hardware features (CPU, RAM).
|
||||
//
|
||||
// See: http://docs.cloudstack.apache.org/projects/cloudstack-administration/en/latest/service_offerings.html
|
||||
type ServiceOffering struct {
|
||||
ID string `json:"id"`
|
||||
CPUNumber int `json:"cpunumber"`
|
||||
CPUSpeed int `json:"cpuspeed"`
|
||||
Created string `json:"created"`
|
||||
DefaultUse bool `json:"defaultuse,omitempty"`
|
||||
DeploymentPlanner string `json:"deploymentplanner,omitempty"`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate,omitempty"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate,omitempty"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate,omitempty"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate,omitempty"`
|
||||
DisplayText string `json:"displaytext,omitempty"`
|
||||
Domain string `json:"domain"`
|
||||
DomainID string `json:"domainid"`
|
||||
HostTags string `json:"hosttags,omitempty"`
|
||||
HypervisorSnapshotReserve int `json:"hypervisorsnapshotreserve,omitempty"`
|
||||
IsCustomized bool `json:"iscustomized,omitempty"`
|
||||
IsCustomizedIops bool `json:"iscustomizediops,omitempty"`
|
||||
IsSystem bool `json:"issystem,omitempty"`
|
||||
IsVolatile bool `json:"isvolatile,omitempty"`
|
||||
LimitCPUUse bool `json:"limitcpuuse,omitempty"`
|
||||
MaxIops int64 `json:"maxiops,omitempty"`
|
||||
Memory int `json:"memory,omitempty"`
|
||||
MinIops int64 `json:"miniops,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
NetworkRate int `json:"networkrate,omitempty"`
|
||||
OfferHA bool `json:"offerha,omitempty"`
|
||||
ServiceOfferingDetails map[string]string `json:"serviceofferingdetails,omitempty"`
|
||||
StorageType string `json:"storagetype,omitempty"`
|
||||
SystemVMType string `json:"systemvmtype,omitempty"`
|
||||
Tags []ResourceTag `json:"tags,omitempty"`
|
||||
Authorized bool `json:"authorized,omitempty" doc:"is the account/domain authorized to use this service offering"`
|
||||
CPUNumber int `json:"cpunumber,omitempty" doc:"the number of CPU"`
|
||||
CPUSpeed int `json:"cpuspeed,omitempty" doc:"the clock rate CPU speed in Mhz"`
|
||||
Created string `json:"created,omitempty" doc:"the date this service offering was created"`
|
||||
DefaultUse bool `json:"defaultuse,omitempty" doc:"is this a default system vm offering"`
|
||||
DeploymentPlanner string `json:"deploymentplanner,omitempty" doc:"deployment strategy used to deploy VM."`
|
||||
DiskBytesReadRate int64 `json:"diskBytesReadRate,omitempty" doc:"bytes read rate of the service offering"`
|
||||
DiskBytesWriteRate int64 `json:"diskBytesWriteRate,omitempty" doc:"bytes write rate of the service offering"`
|
||||
DiskIopsReadRate int64 `json:"diskIopsReadRate,omitempty" doc:"io requests read rate of the service offering"`
|
||||
DiskIopsWriteRate int64 `json:"diskIopsWriteRate,omitempty" doc:"io requests write rate of the service offering"`
|
||||
Displaytext string `json:"displaytext,omitempty" doc:"an alternate display text of the service offering."`
|
||||
Domain string `json:"domain,omitempty" doc:"Domain name for the offering"`
|
||||
DomainID *UUID `json:"domainid,omitempty" doc:"the domain id of the service offering"`
|
||||
HostTags string `json:"hosttags,omitempty" doc:"the host tag for the service offering"`
|
||||
HypervisorSnapshotReserve int `json:"hypervisorsnapshotreserve,omitempty" doc:"Hypervisor snapshot reserve space as a percent of a volume (for managed storage using Xen or VMware)"`
|
||||
ID *UUID `json:"id,omitempty" doc:"the id of the service offering"`
|
||||
IsCustomized bool `json:"iscustomized,omitempty" doc:"is true if the offering is customized"`
|
||||
IsCustomizedIops bool `json:"iscustomizediops,omitempty" doc:"true if disk offering uses custom iops, false otherwise"`
|
||||
IsSystem bool `json:"issystem,omitempty" doc:"is this a system vm offering"`
|
||||
IsVolatile bool `json:"isvolatile,omitempty" doc:"true if the vm needs to be volatile, i.e., on every reboot of vm from API root disk is discarded and creates a new root disk"`
|
||||
LimitCPUUse bool `json:"limitcpuuse,omitempty" doc:"restrict the CPU usage to committed service offering"`
|
||||
MaxIops int64 `json:"maxiops,omitempty" doc:"the max iops of the disk offering"`
|
||||
Memory int `json:"memory,omitempty" doc:"the memory in MB"`
|
||||
MinIops int64 `json:"miniops,omitempty" doc:"the min iops of the disk offering"`
|
||||
Name string `json:"name,omitempty" doc:"the name of the service offering"`
|
||||
NetworkRate int `json:"networkrate,omitempty" doc:"data transfer rate in megabits per second allowed."`
|
||||
OfferHA bool `json:"offerha,omitempty" doc:"the ha support in the service offering"`
|
||||
Restricted bool `json:"restricted,omitempty" doc:"is this offering restricted"`
|
||||
ServiceOfferingDetails map[string]string `json:"serviceofferingdetails,omitempty" doc:"additional key/value details tied with this service offering"`
|
||||
StorageType string `json:"storagetype,omitempty" doc:"the storage type for this service offering"`
|
||||
SystemVMType string `json:"systemvmtype,omitempty" doc:"is this a the systemvm type for system vm offering"`
|
||||
Tags string `json:"tags,omitempty" doc:"the tags for the service offering"`
|
||||
}
|
||||
|
||||
// ListRequest builds the ListSecurityGroups request
|
||||
func (so ServiceOffering) ListRequest() (ListCommand, error) {
|
||||
// Restricted cannot be applied here because it really has three states
|
||||
req := &ListServiceOfferings{
|
||||
ID: so.ID,
|
||||
DomainID: so.DomainID,
|
||||
Name: so.Name,
|
||||
SystemVMType: so.SystemVMType,
|
||||
}
|
||||
|
||||
if so.IsSystem {
|
||||
req.IsSystem = &so.IsSystem
|
||||
}
|
||||
|
||||
return req, nil
|
||||
}
|
||||
|
||||
// ListServiceOfferings represents a query for service offerings
|
||||
//
|
||||
// CloudStack API: https://cloudstack.apache.org/api/apidocs-4.10/apis/listServiceOfferings.html
|
||||
type ListServiceOfferings struct {
|
||||
DomainID string `json:"domainid,omitempty"`
|
||||
ID string `json:"id,omitempty"`
|
||||
IsRecursive bool `json:"isrecursive,omitempty"`
|
||||
IsSystem bool `json:"issystem,omitempty"`
|
||||
Keyword string `json:"keyword,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
DomainID *UUID `json:"domainid,omitempty" doc:"the ID of the domain associated with the service offering"`
|
||||
ID *UUID `json:"id,omitempty" doc:"ID of the service offering"`
|
||||
IsSystem *bool `json:"issystem,omitempty" doc:"is this a system vm offering"`
|
||||
Keyword string `json:"keyword,omitempty" doc:"List by keyword"`
|
||||
Name string `json:"name,omitempty" doc:"name of the service offering"`
|
||||
Page int `json:"page,omitempty"`
|
||||
PageSize int `json:"pagesize,omitempty"`
|
||||
SystemVMType string `json:"systemvmtype,omitempty"` // consoleproxy, secondarystoragevm, or domainrouter
|
||||
VirtualMachineID string `json:"virtualmachineid,omitempty"`
|
||||
}
|
||||
|
||||
func (*ListServiceOfferings) name() string {
|
||||
return "listServiceOfferings"
|
||||
}
|
||||
|
||||
func (*ListServiceOfferings) response() interface{} {
|
||||
return new(ListServiceOfferingsResponse)
|
||||
Restricted *bool `json:"restricted,omitempty" doc:"filter by the restriction flag: true to list only the restricted service offerings, false to list non-restricted service offerings, or nothing for all."`
|
||||
SystemVMType string `json:"systemvmtype,omitempty" doc:"the system VM type. Possible types are \"consoleproxy\", \"secondarystoragevm\" or \"domainrouter\"."`
|
||||
VirtualMachineID *UUID `json:"virtualmachineid,omitempty" doc:"the ID of the virtual machine. Pass this in if you want to see the available service offering that a virtual machine can be changed to."`
|
||||
_ bool `name:"listServiceOfferings" description:"Lists all available service offerings."`
|
||||
}
|
||||
|
||||
// ListServiceOfferingsResponse represents a list of service offerings
|
||||
|
@ -63,3 +81,31 @@ type ListServiceOfferingsResponse struct {
|
|||
Count int `json:"count"`
|
||||
ServiceOffering []ServiceOffering `json:"serviceoffering"`
|
||||
}
|
||||
|
||||
func (ListServiceOfferings) response() interface{} {
|
||||
return new(ListServiceOfferingsResponse)
|
||||
}
|
||||
|
||||
// SetPage sets the current page
|
||||
func (lso *ListServiceOfferings) SetPage(page int) {
|
||||
lso.Page = page
|
||||
}
|
||||
|
||||
// SetPageSize sets the page size
|
||||
func (lso *ListServiceOfferings) SetPageSize(pageSize int) {
|
||||
lso.PageSize = pageSize
|
||||
}
|
||||
|
||||
func (ListServiceOfferings) each(resp interface{}, callback IterateItemFunc) {
|
||||
sos, ok := resp.(*ListServiceOfferingsResponse)
|
||||
if !ok {
|
||||
callback(nil, fmt.Errorf("wrong type. ListServiceOfferingsResponse expected, got %T", resp))
|
||||
return
|
||||
}
|
||||
|
||||
for i := range sos.ServiceOffering {
|
||||
if !callback(&sos.ServiceOffering[i], nil) {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue