IDs are actually integers apparently
diff --git a/openstack/compute/v2/extensions/secgroups/requests.go b/openstack/compute/v2/extensions/secgroups/requests.go
index 3147310..3707840 100644
--- a/openstack/compute/v2/extensions/secgroups/requests.go
+++ b/openstack/compute/v2/extensions/secgroups/requests.go
@@ -108,7 +108,7 @@
// Update will modify the mutable properties of a security group, notably its
// name and description.
-func Update(client *gophercloud.ServiceClient, id string, opts UpdateOptsBuilder) UpdateResult {
+func Update(client *gophercloud.ServiceClient, id int, opts UpdateOptsBuilder) UpdateResult {
var result UpdateResult
reqBody, err := opts.ToSecGroupUpdateMap()
@@ -128,7 +128,7 @@
}
// Get will return details for a particular security group.
-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{
@@ -141,7 +141,7 @@
}
// Delete will permanently delete a security group 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{
@@ -156,7 +156,7 @@
// existing security group.
type CreateRuleOpts struct {
// Required - the ID of the group that this rule will be added to.
- ParentGroupID string `json:"parent_group_id"`
+ ParentGroupID int `json:"parent_group_id"`
// Required - the lower bound of the port range that will be opened.
FromPort int `json:"from_port"`
@@ -188,7 +188,7 @@
func (opts CreateRuleOpts) ToRuleCreateMap() (map[string]interface{}, error) {
rule := make(map[string]interface{})
- if opts.ParentGroupID == "" {
+ if opts.ParentGroupID == 0 {
return rule, errors.New("A ParentGroupID must be set")
}
if opts.FromPort == 0 {
@@ -242,7 +242,7 @@
}
// DeleteRule will permanently delete a rule from a security group.
-func DeleteRule(client *gophercloud.ServiceClient, id string) gophercloud.ErrResult {
+func DeleteRule(client *gophercloud.ServiceClient, id int) gophercloud.ErrResult {
var result gophercloud.ErrResult
_, result.Err = perigee.Request("DELETE", resourceRuleURL(client, id), perigee.Options{