github.com/chnsz/golangsdk@v0.0.0-20240506093406-85a3fbfa605b/openstack/rds/v3/flavors/results.go (about)

     1  package flavors
     2  
     3  import (
     4  	"github.com/chnsz/golangsdk/pagination"
     5  )
     6  
     7  type DbFlavorsResp struct {
     8  	Flavorslist []Flavors `json:"flavors"`
     9  }
    10  type Flavors struct {
    11  	ID           string            `json:"id" `
    12  	Vcpus        string            `json:"vcpus" `
    13  	Ram          int               `json:"ram" `
    14  	Speccode     string            `json:"spec_code"  `
    15  	Instancemode string            `json:"instance_mode" `
    16  	Azstatus     map[string]string `json:"az_status" `
    17  	VersionName  []string          `json:"version_name" `
    18  	GroupType    string            `json:"group_type" `
    19  }
    20  
    21  type DbFlavorsPage struct {
    22  	pagination.SinglePageBase
    23  }
    24  
    25  func (r DbFlavorsPage) IsEmpty() (bool, error) {
    26  	data, err := ExtractDbFlavors(r)
    27  	if err != nil {
    28  		return false, err
    29  	}
    30  	return len(data.Flavorslist) == 0, err
    31  }
    32  
    33  func ExtractDbFlavors(r pagination.Page) (DbFlavorsResp, error) {
    34  	var s DbFlavorsResp
    35  	err := (r.(DbFlavorsPage)).ExtractInto(&s)
    36  	return s, err
    37  }