本文整理汇总了Golang中github.com/wallyworld/core/cmd.CheckEmpty函数的典型用法代码示例。如果您正苦于以下问题:Golang CheckEmpty函数的具体用法?Golang CheckEmpty怎么用?Golang CheckEmpty使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了CheckEmpty函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Init
func (c *restoreCommand) Init(args []string) error {
if err := c.EnvCommandBase.EnsureEnvName(); err != nil {
return err
}
if c.showDescription {
return cmd.CheckEmpty(args)
}
if len(args) == 0 {
return fmt.Errorf("no backup file specified")
}
c.backupFile = args[0]
return cmd.CheckEmpty(args[1:])
}
示例2: Init
func (c *BootstrapCommand) Init(args []string) (err error) {
if err := c.EnvCommandBase.EnsureEnvName(); err != nil {
return err
}
if len(c.Series) > 0 && !c.UploadTools {
return fmt.Errorf("--upload-series requires --upload-tools")
}
if len(c.seriesOld) > 0 && !c.UploadTools {
return fmt.Errorf("--series requires --upload-tools")
}
if len(c.Series) > 0 && len(c.seriesOld) > 0 {
return fmt.Errorf("--upload-series and --series can't be used together")
}
if len(c.seriesOld) > 0 {
c.Series = c.seriesOld
}
// Parse the placement directive. Bootstrap currently only
// supports provider-specific placement directives.
if c.Placement != "" {
_, err = instance.ParsePlacement(c.Placement)
if err != instance.ErrPlacementScopeMissing {
// We only support unscoped placement directives for bootstrap.
return fmt.Errorf("unsupported bootstrap placement directive %q", c.Placement)
}
}
return cmd.CheckEmpty(args)
}
示例3: Init
func (c *UpgradeJujuCommand) Init(args []string) error {
if err := c.EnvCommandBase.EnsureEnvName(); err != nil {
return err
}
if c.vers != "" {
vers, err := version.Parse(c.vers)
if err != nil {
return err
}
if vers.Major != version.Current.Major {
return fmt.Errorf("cannot upgrade to version incompatible with CLI")
}
if c.UploadTools && vers.Build != 0 {
// TODO(fwereade): when we start taking versions from actual built
// code, we should disable --version when used with --upload-tools.
// For now, it's the only way to experiment with version upgrade
// behaviour live, so the only restriction is that Build cannot
// be used (because its value needs to be chosen internally so as
// not to collide with existing tools).
return fmt.Errorf("cannot specify build number when uploading tools")
}
c.Version = vers
}
if len(c.Series) > 0 && !c.UploadTools {
return fmt.Errorf("--series requires --upload-tools")
}
return cmd.CheckEmpty(args)
}
示例4: Init
func (c *portCommand) Init(args []string) error {
if args == nil {
return errors.New("no port specified")
}
parts := strings.Split(args[0], "/")
if len(parts) > 2 {
return fmt.Errorf("expected %s; got %q", portFormat, args[0])
}
port, err := strconv.Atoi(parts[0])
if err != nil {
return badPort(parts[0])
}
if port < 1 || port > 65535 {
return badPort(port)
}
protocol := "tcp"
if len(parts) == 2 {
protocol = strings.ToLower(parts[1])
if protocol != "tcp" && protocol != "udp" {
return fmt.Errorf(`protocol must be "tcp" or "udp"; got %q`, protocol)
}
}
c.Port = port
c.Protocol = protocol
return cmd.CheckEmpty(args[1:])
}
示例5: Init
func (c *SignMetadataCommand) Init(args []string) error {
if c.dir == "" {
return fmt.Errorf("directory must be specified")
}
if c.keyFile == "" {
return fmt.Errorf("keyfile must be specified")
}
return cmd.CheckEmpty(args)
}
示例6: Init
func (c *EnsureAvailabilityCommand) Init(args []string) error {
if err := c.EnsureEnvName(); err != nil {
return err
}
if c.NumStateServers < 0 || (c.NumStateServers%2 != 1 && c.NumStateServers != 0) {
return fmt.Errorf("must specify a number of state servers odd and non-negative")
}
return cmd.CheckEmpty(args)
}
示例7: Init
func (c *UnitGetCommand) Init(args []string) error {
if args == nil {
return errors.New("no setting specified")
}
if args[0] != "private-address" && args[0] != "public-address" {
return fmt.Errorf("unknown setting %q", args[0])
}
c.Key = args[0]
return cmd.CheckEmpty(args[1:])
}
示例8: Init
func (c *OwnerGetCommand) Init(args []string) error {
if args == nil {
return errors.New("no setting specified")
}
if args[0] != "tag" {
return fmt.Errorf("unknown setting %q", args[0])
}
c.Key = args[0]
return cmd.CheckEmpty(args[1:])
}
示例9: Init
func (c *UnexposeCommand) Init(args []string) error {
if err := c.EnsureEnvName(); err != nil {
return err
}
if len(args) == 0 {
return errors.New("no service name specified")
}
c.ServiceName = args[0]
return cmd.CheckEmpty(args[1:])
}
示例10: Init
func (c *PublishCommand) Init(args []string) error {
if err := c.EnvCommandBase.EnsureEnvName(); err != nil {
return err
}
if len(args) == 0 {
return nil
}
c.URL = args[0]
return cmd.CheckEmpty(args[1:])
}
示例11: Init
func (c *RemoveUserCommand) Init(args []string) error {
if err := c.EnsureEnvName(); err != nil {
return err
}
if len(args) == 0 {
return errors.New("no username supplied")
}
c.User = args[0]
return cmd.CheckEmpty(args[1:])
}
示例12: Init
func (c *GetCommand) Init(args []string) error {
if err := c.EnvCommandBase.EnsureEnvName(); err != nil {
return err
}
// TODO(dfc) add --schema-only
if len(args) == 0 {
return errors.New("no service name specified")
}
c.ServiceName = args[0]
return cmd.CheckEmpty(args[1:])
}
示例13: Init
func (c *ConfigGetCommand) Init(args []string) error {
if args == nil {
return nil
}
c.Key = args[0]
if c.Key != "" && c.All {
return fmt.Errorf("cannot use argument --all together with key %q", c.Key)
}
return cmd.CheckEmpty(args[1:])
}
示例14: Init
func (c *GetConstraintsCommand) Init(args []string) error {
if err := c.EnvCommandBase.EnsureEnvName(); err != nil {
return err
}
if len(args) > 0 {
if !names.IsService(args[0]) {
return fmt.Errorf("invalid service name %q", args[0])
}
c.ServiceName, args = args[0], args[1:]
}
return cmd.CheckEmpty(args)
}
示例15: Init
func (c *RelationIdsCommand) Init(args []string) error {
if r, found := c.ctx.HookRelation(); found {
c.Name = r.Name()
}
if len(args) > 0 {
c.Name = args[0]
args = args[1:]
} else if c.Name == "" {
return fmt.Errorf("no relation name specified")
}
return cmd.CheckEmpty(args)
}