Documentation
¶
Overview ¶
Package product is the API for the V1 product interface.
Index ¶
Constants ¶
const PluginsMapHash = "product"
PluginsMapHash is an identifier for plugins registered with the go-plugin library.
Variables ¶
var HandshakeConfig = plugin.HandshakeConfig{
ProtocolVersion: 2,
MagicCookieKey: "BASIC_PLUGIN",
MagicCookieValue: "hello",
}
HandshakeConfig is the configuration for establishing communication between the CLI plugins.
Functions ¶
Types ¶
type Deployer ¶ added in v1.0.0
type Deployer interface { GetProduct(args []string, cloudConfig []byte, cs cred.Store) ([]byte, error) GetMeta() Meta GetFlags() []pcli.Flag }
Deployer is the interface implemented by V1 product plugins.
type Meta ¶ added in v1.0.0
type Meta struct { Name string Properties map[string]interface{} Releases []enaml.Release Stemcell enaml.Stemcell }
Meta is the metadata for a product plugin.
type Plugin ¶ added in v1.0.0
type Plugin struct {
Plugin Deployer
}
Plugin wraps up the RPC server and client into a single type.
func NewProductPlugin ¶
NewProductPlugin decorates a ProductDeployer with the RPC functionality requried to operate as a product plugin.
type RPC ¶ added in v1.0.0
type RPC struct {
// contains filtered or unexported fields
}
RPC is an implementation of Deployer that talks over RPC.
type RPCServer ¶ added in v1.0.0
type RPCServer struct {
Impl Deployer
}
RPCServer is the RPC server that ProductRPC connects to. It conforms to the requirements of net/rpc.
func (*RPCServer) GetFlags ¶ added in v1.0.0
GetFlags forwards the RPC request to the plugin's GetFlags method and sends back the results.
Directories
¶
Path | Synopsis |
---|---|
This file was generated by counterfeiter
|
This file was generated by counterfeiter |