// Info implements Command.Info.
16372
func (c *killCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "kill-controller",
		Args:    "<controller name>",
		Purpose: "Forcibly terminate all machines and other associated resources for a Juju controller.",
		Doc:     killDoc,
	})
}
934967
func (c *restoreCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "restore-backup",
		Purpose: "Restore from a backup archive to the existing controller.",
		Args:    "",
		Doc:     strings.TrimSpace(restoreDoc),
	})
}
632268
func (c *poolUpdateCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "update-storage-pool",
		Purpose: "Update storage pool attributes.",
		Doc:     poolUpdateCommandDoc,
		Args:    "<name> [<key>=<value> [<key>=<value>...]]",
	})
}
1201508
func (c *removeKeysCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "remove-ssh-key",
		Args:    "<ssh key id> ...",
		Purpose: usageRemoveSSHKeySummary,
		Doc:     usageRemoveSSHKeyDetails,
	})
}
600038
func (c *removeCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "remove-cached-images",
		Purpose: "Remove cached OS images.",
		Doc:     removeCommandDoc,
	})
}
812784
func (c *scaleApplicationCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "scale-application",
		Args:    "<application> <scale>",
		Purpose: "Set the desired number of application units.",
		Doc:     scaleApplicationDoc,
	})
}
890163
func (c *migrateCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "migrate",
		Args:    "<model-name> <target-controller-name>",
		Purpose: "Migrate a hosted model to another controller.",
		Doc:     migrateDoc,
	})
}
748666
func (c *showApplicationCommand) Info() *cmd.Info {
	showCmd := &cmd.Info{
		Name:    "show-application",
		Args:    "<application name or alias>",
		Purpose: "Displays information about an application.",
		Doc:     showApplicationDoc,
	}
	return jujucmd.Info(showCmd)
}
571627
func (c *agreeCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "agree",
		Args:    "<term>",
		Purpose: "Agree to terms.",
		Doc:     agreeDoc,
	})
}
1099957
func (c *RemoveCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "remove-subnet",
		Args:    "<CIDR>",
		Purpose: "remove an existing subnet from Juju",
		Doc:     strings.TrimSpace(removeCommandDoc),
	})
}
775628
func (c *RunCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "juju-run",
		Args:    "<unit-name> <commands>",
		Purpose: "run commands in a unit's hook context",
		Doc:     runCommandDoc,
	})
}
114814
func (c *AddCloudCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "add-cloud",
		Args:    "<cloud name> [<cloud definition file>]",
		Purpose: usageAddCloudSummary,
		Doc:     usageAddCloudDetails,
	})
}
671111
func (c *createWalletCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "create-wallet",
		Purpose: "Create a new wallet.",
		Doc:     doc,
	})
}
1302839
func (c *showMachineCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "show-machine",
		Args:    "<machineID> ...",
		Purpose: "Show a machine's status.",
		Doc:     showMachineCommandDoc,
	})
}
948165
func (c *registerCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "register",
		Args:    "<registration string>|<controller host name>",
		Purpose: usageRegisterSummary,
		Doc:     usageRegisterDetails,
	})
}
63958
func (c *grantCloudCommand) Info() *cmd.Info {
	return jujucmd.Info(&cmd.Info{
		Name:    "grant-cloud",
		Args:    "<user name> <permission> <cloud name> ...",
		Purpose: usageGrantCloudSummary,
		Doc:     usageGrantCloudDetails,
	})
}
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,
	})
}