Documentation ¶
Index ¶
- Constants
- func GenerateAWSLambdaRouteConfig(options *v1.GlooOptions_AWSOptions, destination *aws.DestinationSpec, ...) (*AWSLambdaPerRoute, error)
- func NewPlugin(perRouteConfigGenerator PerRouteConfigGenerator) plugins.Plugin
- type PerRouteConfigGenerator
- type Plugin
- func (p *Plugin) HttpFilters(_ plugins.Params, _ *v1.HttpListener) ([]plugins.StagedHttpFilter, error)
- func (p *Plugin) Init(params plugins.InitParams)
- func (p *Plugin) Name() string
- func (p *Plugin) ProcessRoute(params plugins.RouteParams, in *v1.Route, out *envoy_config_route_v3.Route) error
- func (p *Plugin) ProcessUpstream(params plugins.Params, in *v1.Upstream, out *envoy_config_cluster_v3.Cluster) error
Constants ¶
const ( ExtensionName = "aws_lambda" FilterName = "io.solo.aws_lambda" ResponseTransformationName = "io.solo.api_gateway.api_gateway_transformer" ResponseTransformationTypeUrl = "type.googleapis.com/envoy.config.transformer.aws_lambda.v2.ApiGatewayTransformation" )
Variables ¶
This section is empty.
Functions ¶
func GenerateAWSLambdaRouteConfig ¶ added in v1.9.25
func GenerateAWSLambdaRouteConfig(options *v1.GlooOptions_AWSOptions, destination *aws.DestinationSpec, upstream *aws.UpstreamSpec) (*AWSLambdaPerRoute, error)
GenerateAWSLambdaRouteConfig is an overridable way to handle destination logic for lambdas. Passed in at plugin creation as it fulfills PerRouteConfigGenerator interface
func NewPlugin ¶
func NewPlugin(perRouteConfigGenerator PerRouteConfigGenerator) plugins.Plugin
NewPlugin creates an instance of the aws plugin and sets the non-per run configuration set by the perrouteconfiggenerator.
Types ¶
type PerRouteConfigGenerator ¶ added in v1.9.25
type PerRouteConfigGenerator func(options *v1.GlooOptions_AWSOptions, destination *aws.DestinationSpec, upstream *aws.UpstreamSpec) (*AWSLambdaPerRoute, error)
PerRouteConfigGenerator defines how to build the Per Route Configuration for a Lambda upstream This enables the open source and enterprise definitions to differ, but still share the same core plugin functionality
type Plugin ¶ added in v1.9.25
type Plugin struct {
// contains filtered or unexported fields
}
func (*Plugin) HttpFilters ¶ added in v1.9.25
func (p *Plugin) HttpFilters(_ plugins.Params, _ *v1.HttpListener) ([]plugins.StagedHttpFilter, error)
func (*Plugin) Init ¶ added in v1.9.25
func (p *Plugin) Init(params plugins.InitParams)
Init the per run configuration of the plugin including blowing away the known upstreams, the current settings for the plugin, and whether we currently need transformation.
func (*Plugin) Name ¶ added in v1.9.25
Name is basically a seperate stringer that returns aws_lambda
func (*Plugin) ProcessRoute ¶ added in v1.9.25
func (p *Plugin) ProcessRoute(params plugins.RouteParams, in *v1.Route, out *envoy_config_route_v3.Route) error