Files
nomad/command/quota.go
Aimee Ukasick a30cb2f137 Update UI, code comment, and README links to docs, tutorials (#26429)
* Update UI, code comment, and README links to docs, tutorials

* fix typo in ephemeral disks learn more link url

* feedback on typo

Co-authored-by: Tim Gross <tgross@hashicorp.com>

---------

Co-authored-by: Tim Gross <tgross@hashicorp.com>
2025-08-06 09:40:23 -05:00

71 lines
1.6 KiB
Go

// Copyright (c) HashiCorp, Inc.
// SPDX-License-Identifier: BUSL-1.1
package command
import (
"strings"
"github.com/hashicorp/cli"
"github.com/hashicorp/nomad/api/contexts"
"github.com/posener/complete"
)
type QuotaCommand struct {
Meta
}
func (f *QuotaCommand) Help() string {
helpText := `
Usage: nomad quota <subcommand> [options] [args]
This command groups subcommands for interacting with resource quotas. Resource
quotas allow operators to restrict the aggregate resource usage of namespaces.
Users can inspect existing quota specifications, create new quotas, delete and
list existing quotas, and more. For a full guide on resource quotas see:
https://developer.hashicorp.com/nomad/docs/govern/resource-quotas
Examine a quota's status:
$ nomad quota status <name>
List existing quotas:
$ nomad quota list
Create a new quota specification:
$ nomad quota apply <path>
Please see the individual subcommand help for detailed usage information.
`
return strings.TrimSpace(helpText)
}
func (f *QuotaCommand) Synopsis() string {
return "Interact with quotas"
}
func (f *QuotaCommand) Name() string { return "quota" }
func (f *QuotaCommand) Run(args []string) int {
return cli.RunResultHelp
}
// QuotaPredictor returns a quota predictor
func QuotaPredictor(factory ApiClientFactory) complete.Predictor {
return complete.PredictFunc(func(a complete.Args) []string {
client, err := factory()
if err != nil {
return nil
}
resp, _, err := client.Search().PrefixSearch(a.Last, contexts.Quotas, nil)
if err != nil {
return []string{}
}
return resp.Matches[contexts.Quotas]
})
}