Documentation ¶
Overview ¶
Package config contains the configuration structs.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ARN ¶
ARN suitable for JSON unmarshalling.
func (*ARN) UnmarshalJSON ¶
func (*ARN) UnmarshalYAML ¶
type AWS ¶ added in v1.4.0
type AWS struct { // Retry configuration. Retry *AWSRetry `json:"retry,omitempty" yaml:"retry,omitempty" validate:"omitempty"` }
AWS configuration.
type AWSRetry ¶ added in v1.4.0
type AWSRetry struct { // MaxBackoff Duration for a retry. MaxBackoff Duration `json:"maxBackoff,omitempty" yaml:"maxBackoff,omitempty" validate:"omitempty"` // MaxAttempts for a request. MaxAttempts int `json:"maxAttempts,omitempty" yaml:"maxAttempts,omitempty" validate:"omitempty"` // The cost to deduct from the RateLimiter's token bucket per retry. RetryCost uint `json:"retryCost,omitempty" yaml:"retryCost,omitempty" validate:"omitempty"` // The cost to deduct from the RateLimiter's token bucket per retry caused by timeout error. RetryTimeoutCost uint `json:"retryTimeoutCost,omitempty" yaml:"retryTimeoutCost,omitempty" validate:"omitempty"` // The cost to payback to the RateLimiter's token bucket for successful attempts. NoRetryIncrement uint `json:"noRetryIncrement,omitempty" yaml:"noRetryIncrement,omitempty" validate:"omitempty"` }
AWSRetry configuration.
type Duration ¶ added in v1.3.0
func (*Duration) MarshalJSON ¶ added in v1.4.1
func (*Duration) MarshalYAML ¶ added in v1.4.1
func (*Duration) UnmarshalJSON ¶ added in v1.3.0
func (*Duration) UnmarshalYAML ¶ added in v1.3.0
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"` // Timeout for the function invocation. Timeout Duration `json:"timeout,omitempty" yaml:"timeout,omitempty"` }
Function providing the lambda function and routes.
func (*Function) GetInvocationRoleARN ¶ added in v1.2.0
GetInvocationRoleARN of the function.
type HTTP ¶ added in v1.3.0
type HTTP struct { // ReadTimeout for http.Server ReadTimeout Duration `json:"readTimeout,omitempty" yaml:"readTimeout,omitempty"` // ReadHeaderTimeout for http.Server ReadHeaderTimeout Duration `json:"readHeaderTimeout,omitempty" yaml:"readHeaderTimeout,omitempty"` // WriteTimeout for http.Server WriteTimeout Duration `json:"writeTimeout,omitempty" yaml:"writeTimeout,omitempty"` // EnableTraceparent injects traceparent. EnableTraceparent bool `json:"enableTraceparent,omitempty" yaml:"enableTraceparent,omitempty"` }
HTTP config.
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 { // DisableValidation disables the validation of the function using a dry-run invocation. DisableValidation bool `json:"disableValidation,omitempty" yaml:"disableValidation,omitempty"` // HTTP configuration HTTP HTTP `json:"http,omitempty" yaml:"http,omitempty"` // AWS configuration AWS *AWS `json:"aws,omitempty" yaml:"aws,omitempty"` // Functions providing the Function. Functions []Function `json:"functions" yaml:"functions" validate:"required,dive"` }
Server for the handler.
Click to show internal directories.
Click to hide internal directories.