IDs are actually integers apparently
diff --git a/openstack/compute/v2/extensions/defsecrules/requests.go b/openstack/compute/v2/extensions/defsecrules/requests.go
index f324a00..d411a37 100644
--- a/openstack/compute/v2/extensions/defsecrules/requests.go
+++ b/openstack/compute/v2/extensions/defsecrules/requests.go
@@ -35,7 +35,7 @@
 	CIDR string `json:"cidr,omitempty"`
 }
 
-// CreateRuleOptsBuilder builds the create rule options into a serializable format.
+// CreateOptsBuilder builds the create rule options into a serializable format.
 type CreateOptsBuilder interface {
 	ToRuleCreateMap() (map[string]interface{}, error)
 }
@@ -65,6 +65,7 @@
 	return map[string]interface{}{"security_group_default_rule": rule}, nil
 }
 
+// Create is the operation responsible for creating a new default rule.
 func Create(client *gophercloud.ServiceClient, opts CreateOptsBuilder) CreateResult {
 	var result CreateResult
 
@@ -85,7 +86,7 @@
 }
 
 // Get will return details for a particular default rule.
-func Get(client *gophercloud.ServiceClient, id string) GetResult {
+func Get(client *gophercloud.ServiceClient, id int) GetResult {
 	var result GetResult
 
 	_, result.Err = perigee.Request("GET", resourceURL(client, id), perigee.Options{
@@ -98,7 +99,7 @@
 }
 
 // Delete will permanently delete a default rule from the project.
-func Delete(client *gophercloud.ServiceClient, id string) gophercloud.ErrResult {
+func Delete(client *gophercloud.ServiceClient, id int) gophercloud.ErrResult {
 	var result gophercloud.ErrResult
 
 	_, result.Err = perigee.Request("DELETE", resourceURL(client, id), perigee.Options{