@@ -298,50 +298,57 @@ func (s *instances) matchInstanceState(instanceID string, states []dbmodel.Insta
298298 return true
299299 }
300300
301- for _ , s := range states {
302- switch s {
303- case dbmodel .InstanceSucceeded :
304- if op .State == domain .Succeeded && op .Type != internal .OperationTypeDeprovision {
305- return true
306- }
307- case dbmodel .InstanceFailed :
308- if op .State == domain .Failed && (op .Type == internal .OperationTypeProvision || op .Type == internal .OperationTypeDeprovision ) {
309- return true
310- }
311- case dbmodel .InstanceError :
312- if op .State == domain .Failed && op .Type != internal .OperationTypeProvision && op .Type != internal .OperationTypeDeprovision {
313- return true
314- }
315- case dbmodel .InstanceProvisioning :
316- if op .Type == internal .OperationTypeProvision && op .State == domain .InProgress {
317- return true
318- }
319- case dbmodel .InstanceDeprovisioning :
320- if op .Type == internal .OperationTypeDeprovision && op .State == domain .InProgress {
321- return true
322- }
323- case dbmodel .InstanceUpgrading :
324- if op .Type == internal .OperationTypeUpgradeCluster && op .State == domain .InProgress {
325- return true
326- }
327- case dbmodel .InstanceUpdating :
328- if op .Type == internal .OperationTypeUpdate && op .State == domain .InProgress {
329- return true
330- }
331- case dbmodel .InstanceDeprovisioned :
332- if op .State == domain .Succeeded && op .Type == internal .OperationTypeDeprovision {
333- return true
334- }
335- case dbmodel .InstanceNotDeprovisioned :
336- if op .State != domain .Succeeded || op .Type != internal .OperationTypeDeprovision {
337- return true
338- }
301+ for _ , state := range states {
302+ if matched := s .matchState (state , op ); matched {
303+ return matched
339304 }
340305 }
341306
342307 return false
343308}
344309
310+ func (s * instances ) matchState (state dbmodel.InstanceState , op * internal.Operation ) bool {
311+ switch state {
312+ case dbmodel .InstanceSucceeded :
313+ if op .State == domain .Succeeded && op .Type != internal .OperationTypeDeprovision {
314+ return true
315+ }
316+ case dbmodel .InstanceFailed :
317+ if op .State == domain .Failed && (op .Type == internal .OperationTypeProvision || op .Type == internal .OperationTypeDeprovision ) {
318+ return true
319+ }
320+ case dbmodel .InstanceError :
321+ if op .State == domain .Failed && op .Type != internal .OperationTypeProvision && op .Type != internal .OperationTypeDeprovision {
322+ return true
323+ }
324+ case dbmodel .InstanceProvisioning :
325+ if op .Type == internal .OperationTypeProvision && op .State == domain .InProgress {
326+ return true
327+ }
328+ case dbmodel .InstanceDeprovisioning :
329+ if op .Type == internal .OperationTypeDeprovision && op .State == domain .InProgress {
330+ return true
331+ }
332+ case dbmodel .InstanceUpgrading :
333+ if op .Type == internal .OperationTypeUpgradeCluster && op .State == domain .InProgress {
334+ return true
335+ }
336+ case dbmodel .InstanceUpdating :
337+ if op .Type == internal .OperationTypeUpdate && op .State == domain .InProgress {
338+ return true
339+ }
340+ case dbmodel .InstanceDeprovisioned :
341+ if op .State == domain .Succeeded && op .Type == internal .OperationTypeDeprovision {
342+ return true
343+ }
344+ case dbmodel .InstanceNotDeprovisioned :
345+ if op .State != domain .Succeeded || op .Type != internal .OperationTypeDeprovision {
346+ return true
347+ }
348+ }
349+ return false
350+ }
351+
345352func (s * instances ) ListDeletedInstanceIDs (int ) ([]string , error ) {
346353 s .mu .Lock ()
347354 defer s .mu .Unlock ()
0 commit comments