github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/geminidb/v3/flavors/results.go (about) 1 package flavors 2 3 import ( 4 "github.com/chnsz/golangsdk/pagination" 5 ) 6 7 type Flavor struct { 8 EngineName string `json:"engine_name"` 9 EngineVersion string `json:"engine_version"` 10 Vcpus string `json:"vcpus"` 11 Ram string `json:"ram"` 12 SpecCode string `json:"spec_code"` 13 AvailabilityZone []string `json:"availability_zone"` 14 // AZ status 15 AzStatus map[string]string `json:"az_status"` 16 } 17 18 type ListFlavorResponse struct { 19 Flavors []Flavor `json:"flavors"` 20 TotalCount int `json:"total_count"` 21 } 22 23 type FlavorPage struct { 24 pagination.SinglePageBase 25 } 26 27 func (r FlavorPage) IsEmpty() (bool, error) { 28 data, err := ExtractFlavors(r) 29 if err != nil { 30 return false, err 31 } 32 return len(data.Flavors) == 0, err 33 } 34 35 func ExtractFlavors(r pagination.Page) (ListFlavorResponse, error) { 36 var s ListFlavorResponse 37 err := (r.(FlavorPage)).ExtractInto(&s) 38 return s, err 39 }