function

package
v0.5.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 25, 2016 License: MIT Imports: 20 Imported by: 0

Documentation

Overview

Package function implements function-level operations.

Index

Constants

View Source
const (
	RequestResponse InvocationType = "RequestResponse"
	Event                          = "Event"
	DryRun                         = "DryRun"
)

Invocation types.

View Source
const (
	// OpenHook is called when the function configuration is first loaded.
	OpenHook Hook = "open"

	// BuildHook is called when a build is started.
	BuildHook = "build"

	// CleanHook is called when a build is complete.
	CleanHook = "clean"

	// DeployHook is called after build and before a deploy.
	DeployHook = "deploy"
)

Hooks available.

View Source
const CurrentAlias = "current"

Current alias name.

Variables

This section is empty.

Functions

func RegisterPlugin added in v0.5.0

func RegisterPlugin(name string, plugin Plugin)

RegisterPlugin registers `plugin` by `name`.

Types

type Config

type Config struct {
	Description string            `json:"description"`
	Runtime     string            `json:"runtime" validate:"nonzero"`
	Memory      int64             `json:"memory" validate:"nonzero"`
	Timeout     int64             `json:"timeout" validate:"nonzero"`
	Role        string            `json:"role" validate:"nonzero"`
	Handler     string            `json:"handler" validate:"nonzero"`
	Shim        bool              `json:"shim"`
	Environment map[string]string `json:"environment"`
	Hooks       hooks.Hooks       `json:"hooks"`
}

Config for a Lambda function.

type Function

type Function struct {
	Config
	Name            string
	FunctionName    string
	Path            string
	Service         lambdaiface.LambdaAPI
	Log             log.Interface
	IgnoredPatterns []string
}

Function represents a Lambda function, with configuration loaded from the "function.json" file on disk.

func (*Function) Build added in v0.5.0

func (f *Function) Build() (io.Reader, error)

Build returns the zipped contents of the function.

func (*Function) BuildBytes added in v0.5.0

func (f *Function) BuildBytes() ([]byte, error)

BuildBytes returns the generated zip as bytes.

func (*Function) Clean added in v0.1.0

func (f *Function) Clean() error

Clean invokes the CleanHook, useful for removing build artifacts and so on.

func (*Function) Create

func (f *Function) Create(zip []byte) error

Create the function with the given `zip`.

func (*Function) Delete added in v0.1.0

func (f *Function) Delete() error

Delete the function including all its versions

func (*Function) Deploy

func (f *Function) Deploy() error

Deploy code and then configuration.

func (*Function) DeployCode added in v0.2.0

func (f *Function) DeployCode() error

DeployCode generates a zip and creates or updates the function.

func (*Function) DeployConfig added in v0.1.0

func (f *Function) DeployConfig() error

DeployConfig deploys changes to configuration.

func (*Function) GetConfig added in v0.5.0

func (f *Function) GetConfig() (*lambda.GetFunctionOutput, error)

GetConfig returns the function configuration.

func (*Function) Invoke added in v0.1.0

func (f *Function) Invoke(event, context interface{}, kind InvocationType) (reply, logs io.Reader, err error)

Invoke the remote Lambda function, returning the response and logs, if any.

func (*Function) Open

func (f *Function) Open() error

Open the function.json file and prime the config.

func (*Function) Rollback added in v0.2.0

func (f *Function) Rollback() error

Rollback the function to the previous.

func (*Function) RollbackVersion added in v0.3.0

func (f *Function) RollbackVersion(version string) error

RollbackVersion the function to the specified version.

func (*Function) Setenv added in v0.5.0

func (f *Function) Setenv(name, value string)

Setenv sets environment variable `name` to `value`.

func (*Function) Update

func (f *Function) Update(zip []byte) error

Update the function with the given `zip`.

type Hook added in v0.5.0

type Hook string

Hook type.

type InvocationType added in v0.1.0

type InvocationType string

InvocationType determines how an invocation request is made.

type InvokeError

type InvokeError struct {
	Message string   `json:"errorMessage"`
	Type    string   `json:"errorType"`
	Stack   []string `json:"stackTrace"`
	Handled bool
}

InvokeError records an error from an invocation.

func (*InvokeError) Error

func (e *InvokeError) Error() string

Error message.

type Plugin added in v0.5.0

type Plugin interface {
	Run(hook Hook, fn *Function) error
}

A Plugin is a chunk of isolated(ish) logic which reacts to various hooks within the system in order to implement specific features such as runtime inference or environment variable support.

func ByName added in v0.5.0

func ByName(name string) (Plugin, error)

ByName returns the plugin by `name`.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL