github.com/sleungcy/cli@v7.1.0+incompatible/command/v7/space_quota_command.go (about)

     1  package v7
     2  
     3  import (
     4  	"code.cloudfoundry.org/cli/command/flag"
     5  	"code.cloudfoundry.org/cli/command/v7/shared"
     6  	"code.cloudfoundry.org/cli/resources"
     7  )
     8  
     9  type SpaceQuotaCommand struct {
    10  	BaseCommand
    11  
    12  	RequiredArgs    flag.SpaceQuota `positional-args:"yes"`
    13  	usage           interface{}     `usage:"CF_NAME space-quota QUOTA"`
    14  	relatedCommands interface{}     `related_commands:"space, space-quotas"`
    15  }
    16  
    17  func (cmd SpaceQuotaCommand) Execute(args []string) error {
    18  	err := cmd.SharedActor.CheckTarget(true, false)
    19  	if err != nil {
    20  		return err
    21  	}
    22  
    23  	user, err := cmd.Config.CurrentUser()
    24  	if err != nil {
    25  		return err
    26  	}
    27  
    28  	quotaName := cmd.RequiredArgs.SpaceQuota
    29  
    30  	cmd.UI.DisplayTextWithFlavor(
    31  		"Getting space quota {{.QuotaName}} for org {{.OrgName}} as {{.Username}}...",
    32  		map[string]interface{}{
    33  			"QuotaName": quotaName,
    34  			"OrgName":   cmd.Config.TargetedOrganizationName(),
    35  			"Username":  user.Name,
    36  		})
    37  	cmd.UI.DisplayNewline()
    38  
    39  	spaceQuota, warnings, err := cmd.Actor.GetSpaceQuotaByName(quotaName, cmd.Config.TargetedOrganization().GUID)
    40  	cmd.UI.DisplayWarnings(warnings)
    41  	if err != nil {
    42  		return err
    43  	}
    44  
    45  	quotaDisplayer := shared.NewQuotaDisplayer(cmd.UI)
    46  	quotaDisplayer.DisplaySingleQuota(resources.Quota(spaceQuota.Quota))
    47  
    48  	return nil
    49  }