code.cloudfoundry.org/cli@v7.1.0+incompatible/command/v7/delete_orphaned_routes_command.go (about)

     1  package v7
     2  
     3  type DeleteOrphanedRoutesCommand struct {
     4  	BaseCommand
     5  
     6  	usage           interface{} `usage:"CF_NAME delete-orphaned-routes [-f]\n"`
     7  	Force           bool        `short:"f" description:"Force deletion without confirmation"`
     8  	relatedCommands interface{} `related_commands:"delete-routes, routes"`
     9  }
    10  
    11  func (cmd DeleteOrphanedRoutesCommand) Execute(args []string) error {
    12  	err := cmd.SharedActor.CheckTarget(true, true)
    13  	if err != nil {
    14  		return err
    15  	}
    16  
    17  	_, err = cmd.Config.CurrentUser()
    18  	if err != nil {
    19  		return err
    20  	}
    21  
    22  	if !cmd.Force {
    23  		response, promptErr := cmd.UI.DisplayBoolPrompt(false, "Really delete orphaned routes?")
    24  
    25  		if promptErr != nil {
    26  			return promptErr
    27  		}
    28  
    29  		if !response {
    30  			cmd.UI.DisplayText("Routes have not been deleted.")
    31  			return nil
    32  		}
    33  	}
    34  
    35  	user, err := cmd.Config.CurrentUser()
    36  	if err != nil {
    37  		return err
    38  	}
    39  	cmd.UI.DisplayTextWithFlavor("Deleting orphaned routes as {{.userName}}...",
    40  		map[string]interface{}{
    41  			"userName": user.Name,
    42  		})
    43  
    44  	warnings, err := cmd.Actor.DeleteOrphanedRoutes(cmd.Config.TargetedSpace().GUID)
    45  
    46  	cmd.UI.DisplayWarnings(warnings)
    47  	if err != nil {
    48  		return err
    49  	}
    50  
    51  	cmd.UI.DisplayOK()
    52  	return nil
    53  }