config

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Sep 17, 2023 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package config contains the configuration structs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ArnAsString added in v1.2.0

func ArnAsString(arnPtr *arn.ARN) string

ArnAsString conversion.

func Validate

func Validate(config any) error

Validate the Server config.

Types

type ARN

type ARN struct {
	arn.ARN
}

ARN suitable for JSON unmarshalling.

func (*ARN) UnmarshalJSON

func (a *ARN) UnmarshalJSON(bytes []byte) error

func (*ARN) UnmarshalYAML

func (a *ARN) UnmarshalYAML(value *yaml.Node) error

type Function

type Function struct {
	// Name of the function.
	Name string `json:"name,omitempty" yaml:"name,omitempty" validate:"required_without=ARN,excluded_with=ARN"`
	// ARN of the function to be invoked.
	// Deprecated: use Name.
	ARN *LambdaARN `json:"arn,omitempty" yaml:"arn,omitempty" validate:"required_without=Name,excluded_with=Name"`
	// InvocationRole
	InvocationRole *RoleARN `json:"invocationRole,omitempty" yaml:"invocationRole,omitempty" validate:"omitempty"`
	// Routes to be added for that function.
	Routes []Route `json:"routes" yaml:"routes" validate:"min=1,dive"`
}

Function providing the lambda function and routes.

func (*Function) GetInvocationRoleARN added in v1.2.0

func (f *Function) GetInvocationRoleARN() *arn.ARN

GetInvocationRoleARN of the function.

func (*Function) GetName added in v1.2.0

func (f *Function) GetName() string

GetName of the function.

type LambdaARN

type LambdaARN struct{ ARN }

LambdaARN type alias for validation.

type RoleARN added in v1.2.0

type RoleARN struct{ ARN }

RoleARN type alias for validation.

type Route

type Route struct {
	// Name for the route (optional).
	Name string `json:"name,omitempty" yaml:"name,omitempty"`
	// Host for the route (optional)
	Host string `json:"host,omitempty" yaml:"host,omitempty"`
	// Methods for the route (optional)
	Methods []string `json:"methods,omitempty" yaml:"methods,omitempty"`
	// Path for the route (either that or PathPrefix).
	Path string `json:"path,omitempty" yaml:"path,omitempty" validate:"required_without=PathPrefix"`
	// PathPrefix for the route (either that or Path).
	PathPrefix string `json:"pathPrefix,omitempty" yaml:"pathPrefix,omitempty" validate:"required_without=Path"`
	// Headers for the route (optional).
	Headers map[string]string `json:"headers,omitempty" yaml:"headers,omitempty" validate:"dive,keys,required,endkeys"`
	// HeadersRegexp for the route (optional).
	HeadersRegexp map[string]string `json:"headersRegexp" yaml:"headersRegexp" validate:"dive,keys,required,endkeys,required"` //nolint:lll // tags.
}

Route configuration.

type Server

type Server struct {
	// EnableTraceparent injects traceparent.
	EnableTraceparent bool `json:"enableTraceparent,omitempty" yaml:"enableTraceparent,omitempty"`
	// DisableValidation disables the validation of the function using a dry-run invocation.
	DisableValidation bool `json:"disableValidation,omitempty" yaml:"disableValidation,omitempty"`
	// Functions providing the Function.
	Functions []Function `json:"functions" yaml:"functions" validate:"required,dive"`
}

Server for the handler.

func Read

func Read(ctx context.Context, filename string) (*Server, error)

Read from filename.

Jump to

Keyboard shortcuts

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