Documentation
¶
Index ¶
- Constants
- func Communicator(client *rpc.Client) *communicator
- func NewFileInfo(fi os.FileInfo) *fileInfo
- type ArtifactServer
- func (s *ArtifactServer) BuilderId(args *interface{}, reply *string) error
- func (s *ArtifactServer) Destroy(args *interface{}, reply *error) error
- func (s *ArtifactServer) Files(args *interface{}, reply *[]string) error
- func (s *ArtifactServer) Id(args *interface{}, reply *string) error
- func (s *ArtifactServer) State(name string, reply *interface{}) error
- func (s *ArtifactServer) String(args *interface{}, reply *string) error
- type BasicError
- type BuildPrepareResponse
- type BuildServer
- func (b *BuildServer) Cancel(args *interface{}, reply *interface{}) error
- func (b *BuildServer) Name(args *interface{}, reply *string) error
- func (b *BuildServer) Prepare(args *interface{}, resp *BuildPrepareResponse) error
- func (b *BuildServer) Run(streamId uint32, reply *[]uint32) error
- func (b *BuildServer) SetDebug(val *bool, reply *interface{}) error
- func (b *BuildServer) SetForce(val *bool, reply *interface{}) error
- func (b *BuildServer) SetOnError(val *string, reply *interface{}) error
- type BuilderPrepareArgs
- type BuilderPrepareResponse
- type BuilderServer
- func (b *BuilderServer) Cancel(args *interface{}, reply *interface{}) error
- func (s *BuilderServer) ConfigSpec(_ interface{}, reply *ConfigSpecResponse) error
- func (b *BuilderServer) Prepare(args *BuilderPrepareArgs, reply *BuilderPrepareResponse) error
- func (b *BuilderServer) Run(streamId uint32, reply *uint32) error
- type Client
- func (c *Client) Artifact() packer.Artifact
- func (c *Client) Build() packer.Build
- func (c *Client) Builder() packer.Builder
- func (c *Client) Close() error
- func (c *Client) Communicator() packer.Communicator
- func (c *Client) Hook() packer.Hook
- func (c *Client) PostProcessor() packer.PostProcessor
- func (c *Client) Provisioner() packer.Provisioner
- func (c *Client) Ui() packer.Ui
- type CommandFinished
- type CommunicatorDownloadArgs
- type CommunicatorDownloadDirArgs
- type CommunicatorServer
- func (s *CommunicatorServer) ConfigSpec(_ interface{}, reply *ConfigSpecResponse) error
- func (c *CommunicatorServer) Download(args *CommunicatorDownloadArgs, reply *interface{}) (err error)
- func (c *CommunicatorServer) DownloadDir(args *CommunicatorUploadDirArgs, reply *error) error
- func (c *CommunicatorServer) Start(args *CommunicatorStartArgs, reply *interface{}) error
- func (c *CommunicatorServer) Upload(args *CommunicatorUploadArgs, reply *interface{}) (err error)
- func (c *CommunicatorServer) UploadDir(args *CommunicatorUploadDirArgs, reply *error) error
- type CommunicatorStartArgs
- type CommunicatorUploadArgs
- type CommunicatorUploadDirArgs
- type ConfigSpecResponse
- type HookRunArgs
- type HookServer
- type PostProcessorConfigureArgs
- type PostProcessorProcessResponse
- type PostProcessorServer
- func (b *PostProcessorServer) Cancel(args *interface{}, reply *interface{}) error
- func (s *PostProcessorServer) ConfigSpec(_ interface{}, reply *ConfigSpecResponse) error
- func (p *PostProcessorServer) Configure(args *PostProcessorConfigureArgs, reply *interface{}) (err error)
- func (p *PostProcessorServer) PostProcess(streamId uint32, reply *PostProcessorProcessResponse) error
- type ProgressTrackingClient
- type ProgressTrackingServer
- type ProvisionerPrepareArgs
- type ProvisionerProvisionArgs
- type ProvisionerServer
- func (p *ProvisionerServer) Cancel(args *interface{}, reply *interface{}) error
- func (s *ProvisionerServer) ConfigSpec(_ interface{}, reply *ConfigSpecResponse) error
- func (p *ProvisionerServer) Prepare(args *ProvisionerPrepareArgs, reply *interface{}) error
- func (p *ProvisionerServer) Provision(args *ProvisionerProvisionArgs, reply *interface{}) error
- type Server
- func (s *Server) Close() error
- func (s *Server) RegisterArtifact(a packer.Artifact) error
- func (s *Server) RegisterBuild(b packer.Build) error
- func (s *Server) RegisterBuilder(b packer.Builder) error
- func (s *Server) RegisterCommunicator(c packer.Communicator) error
- func (s *Server) RegisterHook(h packer.Hook) error
- func (s *Server) RegisterPostProcessor(p packer.PostProcessor) error
- func (s *Server) RegisterProvisioner(p packer.Provisioner) error
- func (s *Server) RegisterUi(ui packer.Ui) error
- func (s *Server) Serve()
- type TrackProgressParameters
- type Ui
- func (u *Ui) Ask(query string) (result string, err error)
- func (p *Ui) ConfigSpec() hcldec.ObjectSpec
- func (u *Ui) Error(message string)
- func (u *Ui) Machine(t string, args ...string)
- func (u *Ui) Message(message string)
- func (u *Ui) Say(message string)
- func (u *Ui) TrackProgress(src string, currentSize, totalSize int64, stream io.ReadCloser) io.ReadCloser
- type UiMachineArgs
- type UiServer
- func (u *UiServer) Ask(query string, reply *string) (err error)
- func (u *UiServer) Error(message *string, reply *interface{}) error
- func (u *UiServer) Machine(args *UiMachineArgs, reply *interface{}) error
- func (u *UiServer) Message(message *string, reply *interface{}) error
- func (ui *UiServer) NewTrackProgress(pl *TrackProgressParameters, reply *string) error
- func (u *UiServer) Say(message *string, reply *interface{}) error
Constants ¶
const ( DefaultArtifactEndpoint string = "Artifact" DefaultBuildEndpoint = "Build" DefaultBuilderEndpoint = "Builder" DefaultCacheEndpoint = "Cache" DefaultCommandEndpoint = "Command" DefaultCommunicatorEndpoint = "Communicator" DefaultHookEndpoint = "Hook" DefaultPostProcessorEndpoint = "PostProcessor" DefaultProvisionerEndpoint = "Provisioner" DefaultUiEndpoint = "Ui" )
Variables ¶
This section is empty.
Functions ¶
func Communicator ¶
func NewFileInfo ¶ added in v0.12.0
Types ¶
type ArtifactServer ¶
type ArtifactServer struct {
// contains filtered or unexported fields
}
ArtifactServer wraps a packer.Artifact implementation and makes it exportable as part of a Golang RPC server.
func (*ArtifactServer) BuilderId ¶
func (s *ArtifactServer) BuilderId(args *interface{}, reply *string) error
func (*ArtifactServer) Destroy ¶
func (s *ArtifactServer) Destroy(args *interface{}, reply *error) error
func (*ArtifactServer) Files ¶
func (s *ArtifactServer) Files(args *interface{}, reply *[]string) error
func (*ArtifactServer) Id ¶
func (s *ArtifactServer) Id(args *interface{}, reply *string) error
func (*ArtifactServer) State ¶ added in v0.7.2
func (s *ArtifactServer) State(name string, reply *interface{}) error
func (*ArtifactServer) String ¶
func (s *ArtifactServer) String(args *interface{}, reply *string) error
type BasicError ¶
type BasicError struct {
Message string
}
This is a type that wraps error types so that they can be messaged across RPC channels. Since "error" is an interface, we can't always gob-encode the underlying structure. This is a valid error interface implementer that we will push across.
func NewBasicError ¶
func NewBasicError(err error) *BasicError
func (*BasicError) Error ¶
func (e *BasicError) Error() string
type BuildPrepareResponse ¶ added in v0.3.11
type BuildPrepareResponse struct { Warnings []string Error *BasicError }
type BuildServer ¶
type BuildServer struct {
// contains filtered or unexported fields
}
BuildServer wraps a packer.Build implementation and makes it exportable as part of a Golang RPC server.
func (*BuildServer) Cancel ¶
func (b *BuildServer) Cancel(args *interface{}, reply *interface{}) error
func (*BuildServer) Name ¶
func (b *BuildServer) Name(args *interface{}, reply *string) error
func (*BuildServer) Prepare ¶
func (b *BuildServer) Prepare(args *interface{}, resp *BuildPrepareResponse) error
func (*BuildServer) SetDebug ¶
func (b *BuildServer) SetDebug(val *bool, reply *interface{}) error
func (*BuildServer) SetForce ¶ added in v0.2.0
func (b *BuildServer) SetForce(val *bool, reply *interface{}) error
func (*BuildServer) SetOnError ¶ added in v0.11.0
func (b *BuildServer) SetOnError(val *string, reply *interface{}) error
type BuilderPrepareArgs ¶
type BuilderPrepareArgs struct {
Configs []interface{}
}
type BuilderPrepareResponse ¶ added in v0.3.11
type BuilderPrepareResponse struct { GeneratedVars []string Warnings []string Error *BasicError }
type BuilderServer ¶
type BuilderServer struct {
// contains filtered or unexported fields
}
BuilderServer wraps a packer.Builder implementation and makes it exportable as part of a Golang RPC server.
func (*BuilderServer) Cancel ¶
func (b *BuilderServer) Cancel(args *interface{}, reply *interface{}) error
func (*BuilderServer) ConfigSpec ¶ added in v1.5.0
func (s *BuilderServer) ConfigSpec(_ interface{}, reply *ConfigSpecResponse) error
func (*BuilderServer) Prepare ¶
func (b *BuilderServer) Prepare(args *BuilderPrepareArgs, reply *BuilderPrepareResponse) error
type Client ¶ added in v0.5.0
type Client struct {
// contains filtered or unexported fields
}
Client is the client end that communicates with a Packer RPC server. Establishing a connection is up to the user, the Client can just communicate over any ReadWriteCloser.
func (*Client) Communicator ¶ added in v0.5.0
func (c *Client) Communicator() packer.Communicator
func (*Client) PostProcessor ¶ added in v0.5.0
func (c *Client) PostProcessor() packer.PostProcessor
func (*Client) Provisioner ¶ added in v0.5.0
func (c *Client) Provisioner() packer.Provisioner
type CommandFinished ¶
type CommandFinished struct {
ExitStatus int
}
type CommunicatorDownloadDirArgs ¶ added in v0.9.0
type CommunicatorServer ¶
type CommunicatorServer struct {
// contains filtered or unexported fields
}
CommunicatorServer wraps a packer.Communicator implementation and makes it exportable as part of a Golang RPC server.
func (*CommunicatorServer) ConfigSpec ¶ added in v1.5.0
func (s *CommunicatorServer) ConfigSpec(_ interface{}, reply *ConfigSpecResponse) error
func (*CommunicatorServer) Download ¶
func (c *CommunicatorServer) Download(args *CommunicatorDownloadArgs, reply *interface{}) (err error)
func (*CommunicatorServer) DownloadDir ¶ added in v0.9.0
func (c *CommunicatorServer) DownloadDir(args *CommunicatorUploadDirArgs, reply *error) error
func (*CommunicatorServer) Start ¶
func (c *CommunicatorServer) Start(args *CommunicatorStartArgs, reply *interface{}) error
func (*CommunicatorServer) Upload ¶
func (c *CommunicatorServer) Upload(args *CommunicatorUploadArgs, reply *interface{}) (err error)
func (*CommunicatorServer) UploadDir ¶ added in v0.3.5
func (c *CommunicatorServer) UploadDir(args *CommunicatorUploadDirArgs, reply *error) error
type CommunicatorStartArgs ¶
type CommunicatorUploadArgs ¶
type CommunicatorUploadDirArgs ¶ added in v0.3.5
type ConfigSpecResponse ¶ added in v1.5.0
type ConfigSpecResponse struct {
ConfigSpec []byte
}
type HookRunArgs ¶
type HookServer ¶
type HookServer struct {
// contains filtered or unexported fields
}
HookServer wraps a packer.Hook implementation and makes it exportable as part of a Golang RPC server.
func (*HookServer) Cancel ¶ added in v0.3.6
func (h *HookServer) Cancel(args *interface{}, reply *interface{}) error
func (*HookServer) Run ¶
func (h *HookServer) Run(args *HookRunArgs, reply *interface{}) error
type PostProcessorConfigureArgs ¶ added in v0.1.4
type PostProcessorConfigureArgs struct {
Configs []interface{}
}
type PostProcessorProcessResponse ¶
type PostProcessorProcessResponse struct { Err *BasicError Keep bool ForceOverride bool StreamId uint32 }
type PostProcessorServer ¶
type PostProcessorServer struct {
// contains filtered or unexported fields
}
PostProcessorServer wraps a packer.PostProcessor implementation and makes it exportable as part of a Golang RPC server.
func (*PostProcessorServer) Cancel ¶ added in v1.4.0
func (b *PostProcessorServer) Cancel(args *interface{}, reply *interface{}) error
func (*PostProcessorServer) ConfigSpec ¶ added in v1.5.0
func (s *PostProcessorServer) ConfigSpec(_ interface{}, reply *ConfigSpecResponse) error
func (*PostProcessorServer) Configure ¶
func (p *PostProcessorServer) Configure(args *PostProcessorConfigureArgs, reply *interface{}) (err error)
func (*PostProcessorServer) PostProcess ¶
func (p *PostProcessorServer) PostProcess(streamId uint32, reply *PostProcessorProcessResponse) error
type ProgressTrackingClient ¶ added in v1.4.0
type ProgressTrackingClient struct {
// contains filtered or unexported fields
}
func (*ProgressTrackingClient) Close ¶ added in v1.4.0
func (u *ProgressTrackingClient) Close() error
type ProgressTrackingServer ¶ added in v1.4.0
type ProgressTrackingServer struct {
// contains filtered or unexported fields
}
func (*ProgressTrackingServer) Add ¶ added in v1.4.0
func (t *ProgressTrackingServer) Add(size int, _ *interface{}) error
func (*ProgressTrackingServer) Close ¶ added in v1.4.0
func (t *ProgressTrackingServer) Close(_, _ *interface{}) error
type ProvisionerPrepareArgs ¶
type ProvisionerPrepareArgs struct {
Configs []interface{}
}
type ProvisionerServer ¶
type ProvisionerServer struct {
// contains filtered or unexported fields
}
ProvisionerServer wraps a packer.Provisioner implementation and makes it exportable as part of a Golang RPC server.
func (*ProvisionerServer) Cancel ¶ added in v0.3.6
func (p *ProvisionerServer) Cancel(args *interface{}, reply *interface{}) error
func (*ProvisionerServer) ConfigSpec ¶ added in v1.5.0
func (s *ProvisionerServer) ConfigSpec(_ interface{}, reply *ConfigSpecResponse) error
func (*ProvisionerServer) Prepare ¶
func (p *ProvisionerServer) Prepare(args *ProvisionerPrepareArgs, reply *interface{}) error
func (*ProvisionerServer) Provision ¶
func (p *ProvisionerServer) Provision(args *ProvisionerProvisionArgs, reply *interface{}) error
type Server ¶ added in v0.5.0
type Server struct {
// contains filtered or unexported fields
}
Server represents an RPC server for Packer. This must be paired on the other side with a Client.
func NewServer ¶ added in v0.5.0
func NewServer(conn io.ReadWriteCloser) (*Server, error)
NewServer returns a new Packer RPC server.
func (*Server) RegisterArtifact ¶ added in v0.5.0
func (*Server) RegisterBuilder ¶ added in v0.5.0
func (*Server) RegisterCommunicator ¶ added in v0.5.0
func (s *Server) RegisterCommunicator(c packer.Communicator) error
func (*Server) RegisterPostProcessor ¶ added in v0.5.0
func (s *Server) RegisterPostProcessor(p packer.PostProcessor) error
func (*Server) RegisterProvisioner ¶ added in v0.5.0
func (s *Server) RegisterProvisioner(p packer.Provisioner) error
type TrackProgressParameters ¶ added in v1.4.0
type Ui ¶
type Ui struct {
// contains filtered or unexported fields
}
An implementation of packer.Ui where the Ui is actually executed over an RPC connection.
func (*Ui) ConfigSpec ¶ added in v1.5.0
func (p *Ui) ConfigSpec() hcldec.ObjectSpec
func (*Ui) TrackProgress ¶ added in v1.4.0
func (u *Ui) TrackProgress(src string, currentSize, totalSize int64, stream io.ReadCloser) io.ReadCloser
TrackProgress starts a pair of ProgressTrackingClient and ProgressProgressTrackingServer that will send the size of each read bytes of stream. In order to track an operation on the terminal side.
type UiMachineArgs ¶ added in v0.3.0
The arguments sent to Ui.Machine
type UiServer ¶
type UiServer struct {
// contains filtered or unexported fields
}
UiServer wraps a packer.Ui implementation and makes it exportable as part of a Golang RPC server.
func (*UiServer) Machine ¶ added in v0.3.0
func (u *UiServer) Machine(args *UiMachineArgs, reply *interface{}) error
func (*UiServer) NewTrackProgress ¶ added in v1.4.0
func (ui *UiServer) NewTrackProgress(pl *TrackProgressParameters, reply *string) error