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) 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.