github.com/loafoe/cli@v7.1.0+incompatible/cf/requirements/api_endpoint.go (about)

     1  package requirements
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"errors"
     7  
     8  	"code.cloudfoundry.org/cli/cf"
     9  	"code.cloudfoundry.org/cli/cf/configuration/coreconfig"
    10  	. "code.cloudfoundry.org/cli/cf/i18n"
    11  	"code.cloudfoundry.org/cli/cf/terminal"
    12  )
    13  
    14  type APIEndpointRequirement struct {
    15  	config coreconfig.Reader
    16  }
    17  
    18  func NewAPIEndpointRequirement(config coreconfig.Reader) APIEndpointRequirement {
    19  	return APIEndpointRequirement{config}
    20  }
    21  
    22  func (req APIEndpointRequirement) Execute() error {
    23  	if req.config.APIEndpoint() == "" {
    24  		loginTip := terminal.CommandColor(fmt.Sprintf("%s login", cf.Name))
    25  		apiTip := terminal.CommandColor(fmt.Sprintf("%s api", cf.Name))
    26  		return errors.New(T("No API endpoint set. Use '{{.LoginTip}}' or '{{.APITip}}' to target an endpoint.",
    27  			map[string]interface{}{
    28  				"LoginTip": loginTip,
    29  				"APITip":   apiTip,
    30  			}))
    31  	}
    32  
    33  	return nil
    34  }