Separating rebuild result type from other actions
diff --git a/openstack/compute/v2/servers/requests.go b/openstack/compute/v2/servers/requests.go
index 7bbdb56..0b38175 100644
--- a/openstack/compute/v2/servers/requests.go
+++ b/openstack/compute/v2/servers/requests.go
@@ -348,7 +348,6 @@
 		}{
 			map[string]string{"type": string(how)},
 		},
-		Results:     &res.Resp,
 		MoreHeaders: client.Provider.AuthenticatedHeaders(),
 		OkCodes:     []int{202},
 	})
@@ -471,7 +470,6 @@
 		}{
 			map[string]interface{}{"flavorRef": flavorRef},
 		},
-		Results:     &res.Resp,
 		MoreHeaders: client.Provider.AuthenticatedHeaders(),
 		OkCodes:     []int{202},
 	})
@@ -487,7 +485,6 @@
 	_, res.Err = perigee.Request("POST", actionURL(client, id), perigee.Options{
 		ReqBody:     map[string]interface{}{"confirmResize": nil},
 		MoreHeaders: client.Provider.AuthenticatedHeaders(),
-		Results:     &res.Resp,
 		OkCodes:     []int{204},
 	})
 
@@ -502,7 +499,6 @@
 	_, res.Err = perigee.Request("POST", actionURL(client, id), perigee.Options{
 		ReqBody:     map[string]interface{}{"revertResize": nil},
 		MoreHeaders: client.Provider.AuthenticatedHeaders(),
-		Results:     &res.Resp,
 		OkCodes:     []int{202},
 	})
 
diff --git a/openstack/compute/v2/servers/results.go b/openstack/compute/v2/servers/results.go
index 492c5a8..1402d8a 100644
--- a/openstack/compute/v2/servers/results.go
+++ b/openstack/compute/v2/servers/results.go
@@ -40,10 +40,20 @@
 }
 
 // RebuildResult temporarily contains the response from a Rebuild call.
-type ActionResult struct {
+type RebuildResult struct {
 	serverResult
 }
 
+// ActionResult represents the result of server action operations, like reboot
+type ActionResult struct {
+	gophercloud.CommonResult
+}
+
+// Extract is a function that extracts error information from a result
+func (r ActionResult) Extract() error {
+	return r.Err
+}
+
 // Server exposes only the standard OpenStack fields corresponding to a given server on the user's account.
 type Server struct {
 	// ID uniquely identifies this server amongst all other servers, including those not accessible to the current tenant.