Developing cf CLI Plugins
Page last updated:
This topic describes creating and installing Cloud Foundry Command Line Interface (cf CLI) plugins.
Overview
You can create and install cf CLI plugins to provide custom commands. You can submit and share these plugins to the CF Community repository.
Prerequisite
To use plugins, you must use cf CLI v7 or later. For information about downloading, installing, and uninstalling the cf CLI, see Installing the Cloud Foundry Command Line Interface.
Installing the Architecture
To prepare to create a plugin:
Implement the predefined plugin interface from plugin.go in the Cloud Foundry CLI repository on GitHub.
Clone the Cloud Foundry CLI repository from GitHub. To create a plugin, you need the basic GO plugin.
Initializing the Plugin
To initialize a plugin:
From within the
main()
method of your plugin, call:plugin.Start(new(MyPluginStruct))
The
plugin.Start(...)
function requires a new reference to thestruct
that implements the defined interface.
Invoking cf CLI Commands
To invoke cf CLI commands,
From within the
Run(...)
method of your plugin, 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 Plugin API in the Cloud Foundry CLI repository on GitHub.
Installing a Plugin
To install a plugin:
Run:
cf install-plugin PATH-TO-PLUGIN-BINARY
Where
PATH-TO-PLUGIN-BINARY
is the path to your plugin binary.
For more information about developing plugins, see plugin_examples in the Cloud Foundry CLI repository on GitHub.
View the source for this page in GitHub