provider/openstack: openstack router admin state
Change openstack router resource admin state from a string to a boolean. Same technique as mitchellh's fix in https://github.com/hashicorp/terraform/pull/1745
This commit is contained in:
parent
646fd76e07
commit
eabaf8a088
|
@ -3,7 +3,6 @@ package openstack
|
|||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strconv"
|
||||
|
||||
"github.com/hashicorp/terraform/helper/schema"
|
||||
"github.com/rackspace/gophercloud"
|
||||
|
@ -30,7 +29,7 @@ func resourceNetworkingRouterV2() *schema.Resource {
|
|||
ForceNew: false,
|
||||
},
|
||||
"admin_state_up": &schema.Schema{
|
||||
Type: schema.TypeString,
|
||||
Type: schema.TypeBool,
|
||||
Optional: true,
|
||||
ForceNew: false,
|
||||
},
|
||||
|
@ -61,12 +60,8 @@ func resourceNetworkingRouterV2Create(d *schema.ResourceData, meta interface{})
|
|||
TenantID: d.Get("tenant_id").(string),
|
||||
}
|
||||
|
||||
asuRaw := d.Get("admin_state_up").(string)
|
||||
if asuRaw != "" {
|
||||
asu, err := strconv.ParseBool(asuRaw)
|
||||
if err != nil {
|
||||
return fmt.Errorf("admin_state_up, if provided, must be either 'true' or 'false'")
|
||||
}
|
||||
if asuRaw, ok := d.GetOk("admin_state_up"); ok {
|
||||
asu := asuRaw.(bool)
|
||||
createOpts.AdminStateUp = &asu
|
||||
}
|
||||
|
||||
|
@ -114,7 +109,7 @@ func resourceNetworkingRouterV2Read(d *schema.ResourceData, meta interface{}) er
|
|||
log.Printf("[DEBUG] Retreived Router %s: %+v", d.Id(), n)
|
||||
|
||||
d.Set("name", n.Name)
|
||||
d.Set("admin_state_up", strconv.FormatBool(n.AdminStateUp))
|
||||
d.Set("admin_state_up", n.AdminStateUp)
|
||||
d.Set("tenant_id", n.TenantID)
|
||||
d.Set("external_gateway", n.GatewayInfo.NetworkID)
|
||||
|
||||
|
@ -133,15 +128,9 @@ func resourceNetworkingRouterV2Update(d *schema.ResourceData, meta interface{})
|
|||
updateOpts.Name = d.Get("name").(string)
|
||||
}
|
||||
if d.HasChange("admin_state_up") {
|
||||
asuRaw := d.Get("admin_state_up").(string)
|
||||
if asuRaw != "" {
|
||||
asu, err := strconv.ParseBool(asuRaw)
|
||||
if err != nil {
|
||||
return fmt.Errorf("admin_state_up, if provided, must be either 'true' or 'false'")
|
||||
}
|
||||
asu := d.Get("admin_state_up").(bool)
|
||||
updateOpts.AdminStateUp = &asu
|
||||
}
|
||||
}
|
||||
|
||||
log.Printf("[DEBUG] Updating Router %s with options: %+v", d.Id(), updateOpts)
|
||||
|
||||
|
|
Loading…
Reference in New Issue