Apparently there's an update too :boom:
diff --git a/openstack/compute/v2/extensions/secgroups/requests.go b/openstack/compute/v2/extensions/secgroups/requests.go
index acd43f2..505439e 100644
--- a/openstack/compute/v2/extensions/secgroups/requests.go
+++ b/openstack/compute/v2/extensions/secgroups/requests.go
@@ -25,7 +25,7 @@
 	return commonList(client, listByServerURL(client, serverID))
 }
 
-type CreateOpts struct {
+type GroupOpts struct {
 	// Optional - the name of your security group. If no value provided, null
 	// will be set.
 	Name string `json:"name,omitempty"`
@@ -35,6 +35,8 @@
 	Description string `json:"description,omitempty"`
 }
 
+type CreateOpts GroupOpts
+
 func Create(client *gophercloud.ServiceClient, opts CreateOpts) CreateResult {
 	var result CreateResult
 
@@ -52,6 +54,25 @@
 	return result
 }
 
+type UpdateOpts GroupOpts
+
+func Update(client *gophercloud.ServiceClient, id string, opts UpdateOpts) UpdateResult {
+	var result UpdateResult
+
+	reqBody := struct {
+		UpdateOpts `json:"security_group"`
+	}{opts}
+
+	_, result.Err = perigee.Request("POST", resourceURL(client, id), perigee.Options{
+		Results:     &result.Body,
+		ReqBody:     &reqBody,
+		MoreHeaders: client.AuthenticatedHeaders(),
+		OkCodes:     []int{200},
+	})
+
+	return result
+}
+
 func Get(client *gophercloud.ServiceClient, id string) GetResult {
 	var result GetResult