// Info implements Command.Info.
503254
func (c *SetMeterStatusCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "set-meter-status",
		Args:    "[application or unit] status",
		Purpose: "Sets the meter status on an application or unit.",
		Doc:     setMeterStatusDoc,
	})
}
556323
func (c *listCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "storage",
		Args:    "<filesystem|volume> ...",
		Purpose: "Lists storage details.",
		Doc:     listCommandDoc,
		Aliases: []string{"list-storage"},
	})
}
186596
func (c *RelationGetCommand) Info() *cmd.Info {
	args := "<key> <unit id>"
	doc := `
relation-get prints the value of a unit's relation setting, specified by key.
If no key is given, or if the key is "-", all keys and values will be printed.
`
	// There's nothing we can really do about the error here.
	if name, err := c.ctx.RemoteUnitName(); err == nil {
		args = "[<key> [<unit id>]]"
		doc += fmt.Sprintf("Current default unit id is %q.", name)
	} else if !errors.IsNotFound(err) {
		logger.Errorf("Failed to retrieve remote unit name: %v", err)
	}
	return jujucmd.Info(&cmd.Info{
		Name:    "relation-get",
		Args:    args,
		Purpose: "get relation settings",
		Doc:     doc,
	})
}
1213464
func (c *listCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "users",
		Purpose: usageListUsersSummary,
		Doc:     usageListUsersDetails,
		Aliases: []string{"list-users"},
	})
}
872497
func (c *listFirewallRulesCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "list-firewall-rules",
		Purpose: listRulesHelpSummary,
		Doc:     listRulesHelpDetails,
		Aliases: []string{"firewall-rules"},
	})
}
1079657
func (a *UnitAgent) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "unit",
		Purpose: "run a juju unit agent",
	})
}
1065152
func (c *deleteImageMetadataCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "delete-image",
		Purpose: "deletes image metadata from environment",
		Doc:     deleteImageCommandDoc,
	})
}
940348
func (c *checkConnectionCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "check-connection",
		Args:    "<agent-name>",
		Purpose: "check connection to the API server for the specified agent",
	})
}
589423
func (c *removeCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "remove-backup",
		Args:    "[--keep-latest|<ID>]",
		Purpose: "Remove the specified backup from remote storage.",
		Doc:     removeDoc,
	})
}
720897
func (c *diffCommand) Info() *cmd.Info {
	info := &cmd.Info{
		Name:    "diff",
		Args:    "<branch name>",
		Purpose: diffSummary,
		Doc:     diffDoc,
	}
	return jujucmd.Info(info)
}
835411
func (c *removeCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "remove-user",
		Args:    "<user name>",
		Purpose: removeUsageSummary,
		Doc:     removeUsageDetails,
	})
}
1097857
func (c *grantCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "grant",
		Args:    "<user name> <permission> [<model name> ... | <offer url> ...]",
		Purpose: usageGrantSummary,
		Doc:     usageGrantDetails,
	})
}
168110
func (c *IntrospectCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "juju-introspect",
		Args:    "(--listen=...|<path>)",
		Purpose: "introspect Juju agents running on this machine",
		Doc:     introspectCommandDoc,
	})
}
365059
func (c *poolListCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "storage-pools",
		Purpose: "List storage pools.",
		Doc:     poolListCommandDoc,
		Aliases: []string{"list-storage-pools"},
	})
}
725914
func (c *trackBranchCommand) Info() *cmd.Info {
	info := &cmd.Info{
		Name:    "track",
		Args:    "<branch name> <entities> ...",
		Purpose: trackBranchSummary,
		Doc:     trackBranchDoc,
	}
	return jujucmd.Info(info)
}
918824
func (c *listWalletsCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "wallets",
		Purpose: "List wallets.",
		Doc:     listWalletsDoc,
		Aliases: []string{"list-wallets"},
	})
}
63183
func (c *modelCredentialCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "set-credential",
		Args:    "<cloud name> <credential name>",
		Purpose: "Relates a remote credential to a model.",
		Doc:     modelCredentialDoc,
	})
}