You can create and install Cloud Foundry Command Line Interface (cf CLI) plug-ins to provide custom commands. You can submit and share these plug-ins to the CF Community repository.
To use plug-ins, you must use cf CLI v7 or later. For information about downloading, installing, and uninstalling cf CLI commands, see Installing the Cloud Foundry Command Line Interface.
To prepare to create a plug-in:
Implement the predefined plug-in interface from plugin.go in the Cloud Foundry CLI repository on GitHub.
Clone the Cloud Foundry CLI repository from GitHub. To create a plug-in, you need the basic GO plugin.
To initialize a plug-in:
From within the main()
method of your plug-in, call:
plugin.Start(new(MyPluginStruct))
The plugin.Start(...)
function requires a new reference to the struct
that implements the defined interface.
To invoke cf CLI commands,
From within the Run(...)
method of your plug-in, call:
cliConnection.CliCommand([]args)
The Run(...)
method receives the cliConnection
as its first argument. The cliConnection.CliCommand([]args)
returns the output printed by the command and an error.
The output is returned as a slice of strings. The error occurs if the call to the cf CLI command fails.
For more information, see Plug-in API in the Cloud Foundry CLI repository on GitHub.
To install a plug-in:
Run:
cf install-plugin PATH-TO-PLUGIN-BINARY
Where PATH-TO-PLUGIN-BINARY
is the path to your plug-in binary.
For more information about developing plug-ins, see plugin_examples in the Cloud Foundry CLI repository on GitHub.