func (cmd UnbindServiceCommand) Execute(args []string) error { if cmd.Config.Experimental() == false { oldCmd.Main(os.Getenv("CF_TRACE"), os.Args) return nil } cmd.UI.DisplayText("This command is in EXPERIMENTAL stage and may change without notice") cmd.UI.DisplayNewline() err := common.CheckTarget(cmd.Config, true, true) if err != nil { return err } space := cmd.Config.TargetedSpace() user, err := cmd.Config.CurrentUser() if err != nil { return err } cmd.UI.DisplayHeaderFlavorText("Unbinding app {{.AppName}} from service {{.ServiceName}} in org {{.OrgName}} / space {{.SpaceName}} as {{.CurrentUser}}...", map[string]interface{}{ "AppName": cmd.RequiredArgs.AppName, "ServiceName": cmd.RequiredArgs.ServiceInstanceName, "OrgName": cmd.Config.TargetedOrganization().Name, "SpaceName": space.Name, "CurrentUser": user.Name, }) warnings, err := cmd.Actor.UnbindServiceBySpace(cmd.RequiredArgs.AppName, cmd.RequiredArgs.ServiceInstanceName, space.GUID) cmd.UI.DisplayWarnings(warnings) if err != nil { if _, ok := err.(v2actions.ServiceBindingNotFoundError); ok { cmd.UI.DisplayWarning("Binding between {{.InstanceName}} and {{.AppName}} did not exist", map[string]interface{}{ "AppName": cmd.RequiredArgs.AppName, "InstanceName": cmd.RequiredArgs.ServiceInstanceName, }) } else { return common.HandleError(err) } } cmd.UI.DisplayOK() return nil }
func (cmd *DeleteOrphanedRoutesCommand) Execute(args []string) error { if cmd.Config.Experimental() == false { oldCmd.Main(os.Getenv("CF_TRACE"), os.Args) return nil } cmd.UI.DisplayText(ExperimentalWarning) cmd.UI.DisplayNewline() err := common.CheckTarget(cmd.Config, true, true) if err != nil { return err } if !cmd.Force { deleteOrphanedRoutes, promptErr := cmd.UI.DisplayBoolPrompt("Really delete orphaned routes?", false) if err != nil { return promptErr } if !deleteOrphanedRoutes { return nil } } user, err := cmd.Config.CurrentUser() if err != nil { return err } cmd.UI.DisplayHeaderFlavorText("Getting routes as {{.CurrentUser}} ...", map[string]interface{}{ "CurrentUser": user.Name, }) cmd.UI.DisplayNewline() routes, warnings, err := cmd.Actor.GetOrphanedRoutesBySpace(cmd.Config.TargetedSpace().GUID) cmd.UI.DisplayWarnings(warnings) if err != nil { switch err.(type) { case v2actions.OrphanedRoutesNotFoundError: // Do nothing to parity the existing behavior default: return common.HandleError(err) } } for _, route := range routes { cmd.UI.DisplayText("Deleting route {{.Route}} ...", map[string]interface{}{ "Route": route.String(), }) warnings, err = cmd.Actor.DeleteRoute(route.GUID) cmd.UI.DisplayWarnings(warnings) if err != nil { return common.HandleError(err) } } cmd.UI.DisplayOK() return nil }