@@ -44,10 +44,6 @@ func resourceCLCServer() *schema.Resource {
4444 Type : schema .TypeInt ,
4545 Required : true ,
4646 },
47- "password" : & schema.Schema {
48- Type : schema .TypeString ,
49- Required : true ,
50- },
5147 // optional
5248 "description" : & schema.Schema {
5349 Type : schema .TypeString ,
@@ -88,6 +84,12 @@ func resourceCLCServer() *schema.Resource {
8884 },
8985
9086 // sorta computed
87+ "password" : & schema.Schema {
88+ Type : schema .TypeString ,
89+ Optional : true ,
90+ Computed : true ,
91+ Default : nil ,
92+ },
9193 "private_ip_address" : & schema.Schema {
9294 Type : schema .TypeString ,
9395 Optional : true ,
@@ -195,6 +197,12 @@ func resourceCLCServerRead(d *schema.ResourceData, meta interface{}) error {
195197 d .Set ("storage_type" , s .Storagetype )
196198 d .Set ("created_date" , s .ChangeInfo .CreatedDate )
197199 d .Set ("modified_date" , s .ChangeInfo .ModifiedDate )
200+
201+ creds , err := client .Server .GetCredentials (d .Id ())
202+ if err != nil {
203+ return err
204+ }
205+ d .Set ("password" , creds .Password )
198206 return nil
199207}
200208
@@ -231,8 +239,8 @@ func resourceCLCServerUpdate(d *schema.ResourceData, meta interface{}) error {
231239 // updates are queue processed
232240 if d .HasChange ("password" ) {
233241 d .SetPartial ("password" )
234- o , _ := d . GetChange ( "password" )
235- old := o .( string )
242+ creds , _ := client . Server . GetCredentials ( id )
243+ old := creds . Password
236244 pass := d .Get ("password" ).(string )
237245 updates = append (updates , server .UpdateCredentials (old , pass ))
238246 }
@@ -303,7 +311,7 @@ func resourceCLCServerUpdate(d *schema.ResourceData, meta interface{}) error {
303311 }
304312
305313 d .Partial (false )
306- return nil
314+ return resourceCLCServerRead ( d , meta )
307315}
308316
309317func resourceCLCServerDelete (d * schema.ResourceData , meta interface {}) error {
0 commit comments