File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -71,9 +71,13 @@ class Provisioner {
7171 } ) . then ( ( keys : KeyPair ) => {
7272 // Get SSH keys
7373 this . state_ . ssh = keys ;
74- return this . getDroplet_ ( name ) ;
74+ return this . getDroplet_ ( name ) . catch ( ( e : Error ) => {
75+ // Droplet does not exist so continue creating new server
76+ return Promise . resolve < void > ( ) ;
77+ } ) ;
7578 } ) . then ( ( resp : any ) => {
76- if ( resp . droplet ) {
79+ if ( resp ) {
80+ // Droplet exists so return error
7781 return Promise . reject ( {
7882 'errcode' : 'VM_AE' ,
7983 'message' : 'Droplet ' + name + ' already exists'
@@ -132,12 +136,6 @@ class Provisioner {
132136 // Find and delete the server with the same name
133137 return this . getDroplet_ ( name ) ;
134138 } ) . then ( ( resp :any ) => {
135- if ( ! resp . droplet ) {
136- return Promise . reject ( {
137- 'errcode' : 'VM_DNE' ,
138- 'message' : 'Droplet ' + name + ' doesnt exist'
139- } ) ;
140- }
141139 this . state_ . cloud = { } ;
142140 this . state_ . cloud . vm = resp . droplet ;
143141 return this . doRequest_ ( 'DELETE' , 'droplets/' + resp . droplet . id ) ;
@@ -170,8 +168,9 @@ class Provisioner {
170168 } ) ;
171169 }
172170 }
173- return Promise . resolve ( {
174- droplet : undefined
171+ return Promise . reject ( {
172+ 'errcode' : 'VM_DNE' ,
173+ 'message' : 'Droplet ' + name + ' doesnt exist'
175174 } ) ;
176175 } ) ;
177176 }
You can’t perform that action at this time.
0 commit comments