add/update admin pass on server; change key pair format from map to string
This commit is contained in:
parent
04a9d47bca
commit
edc280a8dc
|
@ -93,6 +93,12 @@ func resourceComputeInstance() *schema.Resource {
|
||||||
ForceNew: true,
|
ForceNew: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"admin_pass": &schema.Schema{
|
||||||
|
Type: schema.TypeString,
|
||||||
|
Optional: true,
|
||||||
|
ForceNew: false,
|
||||||
|
},
|
||||||
|
|
||||||
"access_ip_v4": &schema.Schema{
|
"access_ip_v4": &schema.Schema{
|
||||||
Type: schema.TypeString,
|
Type: schema.TypeString,
|
||||||
Computed: true,
|
Computed: true,
|
||||||
|
@ -108,7 +114,7 @@ func resourceComputeInstance() *schema.Resource {
|
||||||
},
|
},
|
||||||
|
|
||||||
"key_pair": &schema.Schema{
|
"key_pair": &schema.Schema{
|
||||||
Type: schema.TypeMap,
|
Type: schema.TypeString,
|
||||||
Optional: true,
|
Optional: true,
|
||||||
ForceNew: true,
|
ForceNew: true,
|
||||||
},
|
},
|
||||||
|
@ -131,14 +137,13 @@ func resourceComputeInstanceCreate(d *schema.ResourceData, meta interface{}) err
|
||||||
Networks: resourceInstanceNetworks(d),
|
Networks: resourceInstanceNetworks(d),
|
||||||
Metadata: resourceInstanceMetadata(d),
|
Metadata: resourceInstanceMetadata(d),
|
||||||
ConfigDrive: d.Get("config_drive").(bool),
|
ConfigDrive: d.Get("config_drive").(bool),
|
||||||
|
AdminPass: d.Get("admin_pass").(string),
|
||||||
}
|
}
|
||||||
|
|
||||||
if kp, ok := d.Get("key_pair").(map[string]interface{}); ok && kp != nil {
|
if keyName, ok := d.Get("key_pair").(string); ok && keyName != "" {
|
||||||
if keyName, ok := kp["name"].(string); ok && keyName != "" {
|
createOpts = &keypairs.CreateOptsExt{
|
||||||
createOpts = &keypairs.CreateOptsExt{
|
serverCreateOpts,
|
||||||
serverCreateOpts,
|
keyName,
|
||||||
keyName,
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -308,6 +313,15 @@ func resourceComputeInstanceUpdate(d *schema.ResourceData, meta interface{}) err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if d.HasChange("admin_pass") {
|
||||||
|
if newPwd, ok := d.Get("admin_pass").(string); ok {
|
||||||
|
err := servers.ChangeAdminPassword(osClient, d.Id(), newPwd).ExtractErr()
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("Error changing admin password of OpenStack server (%s): %s", d.Id(), err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if d.HasChange("flavor_ref") {
|
if d.HasChange("flavor_ref") {
|
||||||
resizeOpts := &servers.ResizeOpts{
|
resizeOpts := &servers.ResizeOpts{
|
||||||
FlavorRef: d.Get("flavor_ref").(string),
|
FlavorRef: d.Get("flavor_ref").(string),
|
||||||
|
|
Loading…
Reference in New Issue