function

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2016 License: MIT Imports: 23 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 CurrentAlias = "current"

CurrentAlias 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 Builder added in v0.6.0

type Builder interface {
	Build(*Function, *archive.Zip) error
}

Builder reacts to the Build hook.

type Cleaner added in v0.6.0

type Cleaner interface {
	Clean(*Function) error
}

Cleaner reacts to the Clean hook.

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"`
	RetainedVersions *int              `json:"retainedVersions"`
	VPC              vpc.VPC           `json:"vpc"`
}

Config for a Lambda function.

type Deployer added in v0.6.0

type Deployer interface {
	Deploy(*Function) error
}

Deployer reacts to the Deploy hook.

type Function

type Function struct {
	Config
	Name         string
	FunctionName string
	Path         string
	Service      lambdaiface.LambdaAPI
	Log          log.Interface
	IgnoreFile   []byte
	Plugins      []string
	Alias        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) CreateOrUpdateAlias added in v0.7.1

func (f *Function) CreateOrUpdateAlias(alias, version string) error

CreateOrUpdateAlias attempts creating the alias, or updates if it already exists.

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 generates a zip and creates or deploy the function. If the configuration hasn't been changed it will deploy only code, otherwise it will deploy both configuration and code.

func (*Function) DeployCode added in v0.2.0

func (f *Function) DeployCode(zip []byte, config *lambda.GetFunctionOutput) error

DeployCode deploys function code when changed.

func (*Function) DeployConfigAndCode added in v0.6.0

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

DeployConfigAndCode updates config and updates function code.

func (*Function) GetAliases added in v0.10.3

func (f *Function) GetAliases() (*lambda.ListAliasesOutput, error)

GetAliases fetches a list of aliases for the function.

func (*Function) GetConfig added in v0.5.0

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

GetConfig returns the function configuration.

func (*Function) GetConfigCurrent added in v0.6.0

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

GetConfigCurrent returns the function configuration for the current version.

func (*Function) GetConfigQualifier added in v0.6.0

func (f *Function) GetConfigQualifier(s string) (*lambda.GetFunctionOutput, error)

GetConfigQualifier returns the function configuration for the given qualifier.

func (*Function) GroupName added in v0.6.0

func (f *Function) GroupName() string

GroupName returns the CloudWatchLogs group name.

func (*Function) Invoke added in v0.1.0

func (f *Function) Invoke(event, context interface{}) (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(environment string) 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 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 Opener added in v0.6.0

type Opener interface {
	Open(*Function) error
}

Opener reacts to the Open hook.

type Plugin added in v0.5.0

type Plugin interface{}

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.

Jump to

Keyboard shortcuts

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