Complete Flavors sub-API.
diff --git a/openstack/compute/flavors/requests.go b/openstack/compute/flavors/requests.go
index f4dd072..3758206 100644
--- a/openstack/compute/flavors/requests.go
+++ b/openstack/compute/flavors/requests.go
@@ -8,8 +8,27 @@
 var ErrNotImplemented = fmt.Errorf("Flavors functionality not implemented.")
 
 type ListResults map[string]interface{}
+type GetResults map[string]interface{}
 
-func List(c *Client) (ListResults, error) {
+// ListFilterOptions helps control the results returned by the List() function.
+// ChangesSince, if provided, instructs List to return only those things which have changed since the timestamp provided.
+// MinDisk and MinRam, if provided, elides flavors which do not meet your criteria.
+// For example, a flavor with a minDisk field of 10 will not be returned if you specify MinDisk set to 20.
+// Marker and Limit control paging.
+// Limit instructs List to refrain from sending excessively large lists of flavors.
+// Marker instructs List where to start listing from.
+// Typically, software will use the last ID of the previous call to List to set the Marker for the current call.
+type ListFilterOptions struct {
+	ChangesSince string
+	MinDisk, MinRam int
+	Marker string
+	Limit int
+}
+
+// List instructs OpenStack to provide a list of flavors.
+// You may provide criteria by which List curtails its results for easier processing.
+// See ListFilterOptions for more details.
+func List(c *Client, lfo ListFilterOptions) (ListResults, error) {
 	var lr ListResults
 
 	h, err := c.getListHeaders()
@@ -17,9 +36,23 @@
 		return nil, err
 	}
 
-	err = perigee.Get(c.getListUrl(), perigee.Options{
+	err = perigee.Get(c.getListUrl(lfo), perigee.Options{
 		Results:     &lr,
 		MoreHeaders: h,
 	})
 	return lr, err
 }
+
+// Get instructs OpenStack to provide details on a single flavor, identified by its ID.
+func Get(c *Client, id string) (GetResults, error) {
+	var gr GetResults
+	h, err := c.getListHeaders()	// same for Get Flavor API
+	if err != nil {
+		return gr, err
+	}
+	err = perigee.Get(c.getGetUrl(id), perigee.Options{
+		Results: &gr,
+		MoreHeaders: h,
+	})
+	return gr, err
+}