Refactor OpenStack services to use default OkCodes
diff --git a/openstack/networking/v2/extensions/fwaas/firewalls/requests.go b/openstack/networking/v2/extensions/fwaas/firewalls/requests.go
index 69f3dca..a7cd3a4 100644
--- a/openstack/networking/v2/extensions/fwaas/firewalls/requests.go
+++ b/openstack/networking/v2/extensions/fwaas/firewalls/requests.go
@@ -142,7 +142,6 @@
 	_, res.Err = c.Request("POST", rootURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 	return res
 }
@@ -152,7 +151,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -220,8 +218,6 @@
 // Delete will permanently delete a particular firewall based on its unique ID.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
diff --git a/openstack/networking/v2/extensions/fwaas/policies/requests.go b/openstack/networking/v2/extensions/fwaas/policies/requests.go
index 95081df..c5bec02 100644
--- a/openstack/networking/v2/extensions/fwaas/policies/requests.go
+++ b/openstack/networking/v2/extensions/fwaas/policies/requests.go
@@ -131,7 +131,6 @@
 	_, res.Err = c.Request("POST", rootURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 	return res
 }
@@ -141,7 +140,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -209,9 +207,7 @@
 // Delete will permanently delete a particular firewall policy based on its unique ID.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
 
diff --git a/openstack/networking/v2/extensions/fwaas/rules/requests.go b/openstack/networking/v2/extensions/fwaas/rules/requests.go
index 3780106..c0065bd 100644
--- a/openstack/networking/v2/extensions/fwaas/rules/requests.go
+++ b/openstack/networking/v2/extensions/fwaas/rules/requests.go
@@ -166,7 +166,6 @@
 	_, res.Err = c.Request("POST", rootURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 	return res
 }
@@ -176,7 +175,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -289,8 +287,6 @@
 // Delete will permanently delete a particular firewall rule based on its unique ID.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
diff --git a/openstack/networking/v2/extensions/layer3/floatingips/requests.go b/openstack/networking/v2/extensions/layer3/floatingips/requests.go
index 46f2b22..5fee2e0 100644
--- a/openstack/networking/v2/extensions/layer3/floatingips/requests.go
+++ b/openstack/networking/v2/extensions/layer3/floatingips/requests.go
@@ -111,7 +111,6 @@
 	_, res.Err = c.Request("POST", rootURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 
 	return res
@@ -122,7 +121,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -173,8 +171,6 @@
 // internal ports.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
diff --git a/openstack/networking/v2/extensions/layer3/routers/requests.go b/openstack/networking/v2/extensions/layer3/routers/requests.go
index 12640de..edfca67 100755
--- a/openstack/networking/v2/extensions/layer3/routers/requests.go
+++ b/openstack/networking/v2/extensions/layer3/routers/requests.go
@@ -84,7 +84,6 @@
 	_, res.Err = c.Request("POST", rootURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 	return res
 }
@@ -94,7 +93,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -145,9 +143,7 @@
 // Delete will permanently delete a particular router based on its unique ID.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
 
diff --git a/openstack/networking/v2/extensions/lbaas/members/requests.go b/openstack/networking/v2/extensions/lbaas/members/requests.go
index 023a04d..f710df5 100644
--- a/openstack/networking/v2/extensions/lbaas/members/requests.go
+++ b/openstack/networking/v2/extensions/lbaas/members/requests.go
@@ -82,7 +82,6 @@
 	_, res.Err = c.Request("POST", rootURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 	return res
 }
@@ -92,7 +91,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -119,7 +117,7 @@
 	_, res.Err = c.Request("PUT", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
+		OkCodes:      []int{200, 201, 202},
 	})
 	return res
 }
@@ -127,8 +125,6 @@
 // Delete will permanently delete a particular member based on its unique ID.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
diff --git a/openstack/networking/v2/extensions/lbaas/monitors/requests.go b/openstack/networking/v2/extensions/lbaas/monitors/requests.go
index de6f688..1b1921a 100644
--- a/openstack/networking/v2/extensions/lbaas/monitors/requests.go
+++ b/openstack/networking/v2/extensions/lbaas/monitors/requests.go
@@ -179,7 +179,6 @@
 	_, res.Err = c.Request("POST", rootURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 
 	return res
@@ -190,7 +189,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -270,8 +268,6 @@
 // Delete will permanently delete a particular monitor based on its unique ID.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
diff --git a/openstack/networking/v2/extensions/lbaas/pools/requests.go b/openstack/networking/v2/extensions/lbaas/pools/requests.go
index e7e6d94..6a07d23 100644
--- a/openstack/networking/v2/extensions/lbaas/pools/requests.go
+++ b/openstack/networking/v2/extensions/lbaas/pools/requests.go
@@ -102,7 +102,6 @@
 	_, res.Err = c.Request("POST", rootURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 	return res
 }
@@ -112,7 +111,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -156,9 +154,7 @@
 // Delete will permanently delete a particular pool based on its unique ID.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
 
@@ -181,7 +177,6 @@
 	_, res.Err = c.Request("POST", associateURL(c, poolID), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 	return res
 }
@@ -191,8 +186,6 @@
 // check for the health of the members of the pool.
 func DisassociateMonitor(c *gophercloud.ServiceClient, poolID, monitorID string) AssociateResult {
 	var res AssociateResult
-	_, res.Err = c.Request("DELETE", disassociateURL(c, poolID, monitorID), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", disassociateURL(c, poolID, monitorID), gophercloud.RequestOpts{})
 	return res
 }
diff --git a/openstack/networking/v2/extensions/lbaas/vips/requests.go b/openstack/networking/v2/extensions/lbaas/vips/requests.go
index 5b0bfd9..3f7720a 100644
--- a/openstack/networking/v2/extensions/lbaas/vips/requests.go
+++ b/openstack/networking/v2/extensions/lbaas/vips/requests.go
@@ -181,7 +181,6 @@
 	_, res.Err = c.Request("POST", rootURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 
 	return res
@@ -192,7 +191,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -261,8 +259,6 @@
 // Delete will permanently delete a particular virtual IP based on its unique ID.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
diff --git a/openstack/networking/v2/extensions/security/groups/requests.go b/openstack/networking/v2/extensions/security/groups/requests.go
index c07508b..4a4e0e0 100644
--- a/openstack/networking/v2/extensions/security/groups/requests.go
+++ b/openstack/networking/v2/extensions/security/groups/requests.go
@@ -77,7 +77,6 @@
 	_, res.Err = c.Request("POST", rootURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 
 	return res
@@ -88,7 +87,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -96,8 +94,6 @@
 // Delete will permanently delete a particular security group based on its unique ID.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
diff --git a/openstack/networking/v2/extensions/security/rules/requests.go b/openstack/networking/v2/extensions/security/rules/requests.go
index 108acf6..41969b4 100644
--- a/openstack/networking/v2/extensions/security/rules/requests.go
+++ b/openstack/networking/v2/extensions/security/rules/requests.go
@@ -153,7 +153,6 @@
 	_, res.Err = c.Request("POST", rootURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 
 	return res
@@ -164,7 +163,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", resourceURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -172,8 +170,6 @@
 // Delete will permanently delete a particular security group based on its unique ID.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", resourceURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
diff --git a/openstack/networking/v2/networks/requests.go b/openstack/networking/v2/networks/requests.go
index b0db67e..2e38839 100644
--- a/openstack/networking/v2/networks/requests.go
+++ b/openstack/networking/v2/networks/requests.go
@@ -81,7 +81,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", getURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -138,7 +137,6 @@
 	_, res.Err = c.Request("POST", createURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 	return res
 }
@@ -196,8 +194,6 @@
 // Delete accepts a unique ID and deletes the network associated with it.
 func Delete(c *gophercloud.ServiceClient, networkID string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", deleteURL(c, networkID), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", deleteURL(c, networkID), gophercloud.RequestOpts{})
 	return res
 }
diff --git a/openstack/networking/v2/ports/requests.go b/openstack/networking/v2/ports/requests.go
index 01d550f..59087d8 100644
--- a/openstack/networking/v2/ports/requests.go
+++ b/openstack/networking/v2/ports/requests.go
@@ -81,7 +81,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", getURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -159,7 +158,6 @@
 	_, res.Err = c.Request("POST", createURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 
 	return res
@@ -231,8 +229,6 @@
 // Delete accepts a unique ID and deletes the port associated with it.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", deleteURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", deleteURL(c, id), gophercloud.RequestOpts{})
 	return res
 }
diff --git a/openstack/networking/v2/subnets/requests.go b/openstack/networking/v2/subnets/requests.go
index 63ac290..f66a6ac 100644
--- a/openstack/networking/v2/subnets/requests.go
+++ b/openstack/networking/v2/subnets/requests.go
@@ -80,7 +80,6 @@
 	var res GetResult
 	_, res.Err = c.Request("GET", getURL(c, id), gophercloud.RequestOpts{
 		JSONResponse: &res.Body,
-		OkCodes:      []int{200},
 	})
 	return res
 }
@@ -174,7 +173,6 @@
 	_, res.Err = c.Request("POST", createURL(c), gophercloud.RequestOpts{
 		JSONBody:     &reqBody,
 		JSONResponse: &res.Body,
-		OkCodes:      []int{201},
 	})
 
 	return res
@@ -241,8 +239,6 @@
 // Delete accepts a unique ID and deletes the subnet associated with it.
 func Delete(c *gophercloud.ServiceClient, id string) DeleteResult {
 	var res DeleteResult
-	_, res.Err = c.Request("DELETE", deleteURL(c, id), gophercloud.RequestOpts{
-		OkCodes: []int{204},
-	})
+	_, res.Err = c.Request("DELETE", deleteURL(c, id), gophercloud.RequestOpts{})
 	return res
 }