aws

package
v1.12.0-beta12 Latest Latest
Warning

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

Go to latest
Published: May 9, 2022 License: Apache-2.0 Imports: 21 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_github_com_solo_io_gloo_projects_gloo_api_external_envoy_extensions_aws_filter_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type AWSLambdaConfig added in v0.19.2

type AWSLambdaConfig struct {

	// Types that are assignable to CredentialsFetcher:
	//	*AWSLambdaConfig_UseDefaultCredentials
	//	*AWSLambdaConfig_ServiceAccountCredentials_
	CredentialsFetcher isAWSLambdaConfig_CredentialsFetcher `protobuf_oneof:"credentials_fetcher"`
	// Send downstream path and method as `x-envoy-original-path` and
	// `x-envoy-original-method` headers on the request to AWS lambda.
	// Defaults to false.
	PropagateOriginalRouting bool `` /* 136-byte string literal not displayed */
	// Sets cadence for refreshing credentials for Service Account.
	// Does nothing if Service account is not set.
	// Does not affect the default filewatch for service account only augments it.
	// Defaults to not refreshing on time period. Suggested is 15 minutes.
	CredentialRefreshDelay *duration.Duration `` /* 129-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*AWSLambdaConfig) Clone added in v1.8.24

func (m *AWSLambdaConfig) Clone() proto.Message

Clone function

func (*AWSLambdaConfig) Descriptor deprecated added in v0.19.2

func (*AWSLambdaConfig) Descriptor() ([]byte, []int)

Deprecated: Use AWSLambdaConfig.ProtoReflect.Descriptor instead.

func (*AWSLambdaConfig) Equal added in v1.5.0

func (m *AWSLambdaConfig) Equal(that interface{}) bool

Equal function

func (*AWSLambdaConfig) GetCredentialRefreshDelay added in v1.9.25

func (x *AWSLambdaConfig) GetCredentialRefreshDelay() *duration.Duration

func (*AWSLambdaConfig) GetCredentialsFetcher added in v1.5.0

func (m *AWSLambdaConfig) GetCredentialsFetcher() isAWSLambdaConfig_CredentialsFetcher

func (*AWSLambdaConfig) GetPropagateOriginalRouting added in v1.9.25

func (x *AWSLambdaConfig) GetPropagateOriginalRouting() bool

func (*AWSLambdaConfig) GetServiceAccountCredentials added in v1.5.0

func (x *AWSLambdaConfig) GetServiceAccountCredentials() *AWSLambdaConfig_ServiceAccountCredentials

func (*AWSLambdaConfig) GetUseDefaultCredentials added in v0.19.2

func (x *AWSLambdaConfig) GetUseDefaultCredentials() *wrappers.BoolValue

func (*AWSLambdaConfig) Hash added in v1.2.13

func (m *AWSLambdaConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*AWSLambdaConfig) ProtoMessage added in v0.19.2

func (*AWSLambdaConfig) ProtoMessage()

func (*AWSLambdaConfig) ProtoReflect added in v1.6.0

func (x *AWSLambdaConfig) ProtoReflect() protoreflect.Message

func (*AWSLambdaConfig) Reset added in v0.19.2

func (x *AWSLambdaConfig) Reset()

func (*AWSLambdaConfig) String added in v0.19.2

func (x *AWSLambdaConfig) String() string

type AWSLambdaConfig_ServiceAccountCredentials added in v1.5.0

type AWSLambdaConfig_ServiceAccountCredentials struct {

	// The name of the envoy cluster which represents the desired aws sts endpoint
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// The full uri of the aws sts endpoint
	Uri string `protobuf:"bytes,2,opt,name=uri,proto3" json:"uri,omitempty"`
	// timeout for the request
	Timeout *duration.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// contains filtered or unexported fields
}

In order to specify the aws sts endpoint, both the cluster and uri must be set. This is due to an envoy limitation which cannot infer the host or path from the cluster, and therefore must be explicitly specified via the uri

func (*AWSLambdaConfig_ServiceAccountCredentials) Clone added in v1.8.24

Clone function

func (*AWSLambdaConfig_ServiceAccountCredentials) Descriptor deprecated added in v1.5.0

func (*AWSLambdaConfig_ServiceAccountCredentials) Descriptor() ([]byte, []int)

Deprecated: Use AWSLambdaConfig_ServiceAccountCredentials.ProtoReflect.Descriptor instead.

func (*AWSLambdaConfig_ServiceAccountCredentials) Equal added in v1.5.0

func (m *AWSLambdaConfig_ServiceAccountCredentials) Equal(that interface{}) bool

Equal function

func (*AWSLambdaConfig_ServiceAccountCredentials) GetCluster added in v1.5.0

func (*AWSLambdaConfig_ServiceAccountCredentials) GetTimeout added in v1.5.0

func (*AWSLambdaConfig_ServiceAccountCredentials) GetUri added in v1.5.0

func (*AWSLambdaConfig_ServiceAccountCredentials) Hash added in v1.5.0

Hash function

func (*AWSLambdaConfig_ServiceAccountCredentials) ProtoMessage added in v1.5.0

func (*AWSLambdaConfig_ServiceAccountCredentials) ProtoReflect added in v1.6.0

func (*AWSLambdaConfig_ServiceAccountCredentials) Reset added in v1.5.0

func (*AWSLambdaConfig_ServiceAccountCredentials) String added in v1.5.0

type AWSLambdaConfig_ServiceAccountCredentials_ added in v1.5.0

type AWSLambdaConfig_ServiceAccountCredentials_ struct {
	// Use projected service account token, and role arn to create temporary
	// credentials with which to authenticate lambda requests.
	// This functionality is meant to work along side EKS service account to IAM
	// binding functionality as outlined here:
	// https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html
	//
	// If the following environment values are not present, this option cannot be used.
	//   1. AWS_WEB_IDENTITY_TOKEN_FILE
	//   2. AWS_ROLE_ARN
	//
	// If they are not specified envoy will NACK the config update, which will show up in the logs when running OS Gloo.
	// When running Gloo enterprise it will be reflected in the prometheus stat: "glooe.solo.io/xds/nack"
	//
	// The role arn may also be specified in the `AWSLambdaProtocolExtension` on the cluster level,
	// to override the environment variable.
	ServiceAccountCredentials *AWSLambdaConfig_ServiceAccountCredentials `protobuf:"bytes,2,opt,name=service_account_credentials,json=serviceAccountCredentials,proto3,oneof"`
}

type AWSLambdaConfig_UseDefaultCredentials added in v1.5.0

type AWSLambdaConfig_UseDefaultCredentials struct {
	// Use AWS default credentials chain to get credentials.
	// This will search environment variables, ECS metadata and instance metadata
	// to get the credentials. credentials will be rotated automatically.
	//
	// If credentials are provided on the cluster (using the
	// AWSLambdaProtocolExtension), it will override these credentials. This
	// defaults to false, but may change in the future to true.
	UseDefaultCredentials *wrappers.BoolValue `protobuf:"bytes,1,opt,name=use_default_credentials,json=useDefaultCredentials,proto3,oneof"`
}

type AWSLambdaPerRoute added in v0.19.2

type AWSLambdaPerRoute struct {

	// The name of the function
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The qualifier of the function (defaults to $LATEST if not specified)
	Qualifier string `protobuf:"bytes,2,opt,name=qualifier,proto3" json:"qualifier,omitempty"`
	// Invocation type - async or regular.
	Async bool `protobuf:"varint,3,opt,name=async,proto3" json:"async,omitempty"`
	// Optional default body if the body is empty. By default on default
	// body is used if the body empty, and an empty body will be sent upstream.
	EmptyBodyOverride *wrappers.StringValue `protobuf:"bytes,4,opt,name=empty_body_override,json=emptyBodyOverride,proto3" json:"empty_body_override,omitempty"`
	// Unwrap responses as AWS ALB does.
	// Expects json lambda responses to construct response.
	// Intended to ease migration when previously using alb to invoke Lambdas.
	// When set on a route the filter will not stream data on the encoding step.
	// For further information see below link for the expected format when true.
	// https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html
	// Defaults to false.
	UnwrapAsAlb bool `protobuf:"varint,5,opt,name=unwrap_as_alb,json=unwrapAsAlb,proto3" json:"unwrap_as_alb,omitempty"`
	// contains filtered or unexported fields
}

AWS Lambda contains the configuration necessary to perform transform regular http calls to AWS Lambda invocations.

func (*AWSLambdaPerRoute) Clone added in v1.8.24

func (m *AWSLambdaPerRoute) Clone() proto.Message

Clone function

func (*AWSLambdaPerRoute) Descriptor deprecated added in v0.19.2

func (*AWSLambdaPerRoute) Descriptor() ([]byte, []int)

Deprecated: Use AWSLambdaPerRoute.ProtoReflect.Descriptor instead.

func (*AWSLambdaPerRoute) Equal added in v1.5.0

func (m *AWSLambdaPerRoute) Equal(that interface{}) bool

Equal function

func (*AWSLambdaPerRoute) GetAsync added in v0.19.2

func (x *AWSLambdaPerRoute) GetAsync() bool

func (*AWSLambdaPerRoute) GetEmptyBodyOverride added in v0.19.2

func (x *AWSLambdaPerRoute) GetEmptyBodyOverride() *wrappers.StringValue

func (*AWSLambdaPerRoute) GetName added in v0.19.2

func (x *AWSLambdaPerRoute) GetName() string

func (*AWSLambdaPerRoute) GetQualifier added in v0.19.2

func (x *AWSLambdaPerRoute) GetQualifier() string

func (*AWSLambdaPerRoute) GetUnwrapAsAlb added in v1.9.25

func (x *AWSLambdaPerRoute) GetUnwrapAsAlb() bool

func (*AWSLambdaPerRoute) Hash added in v1.2.13

func (m *AWSLambdaPerRoute) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*AWSLambdaPerRoute) ProtoMessage added in v0.19.2

func (*AWSLambdaPerRoute) ProtoMessage()

func (*AWSLambdaPerRoute) ProtoReflect added in v1.6.0

func (x *AWSLambdaPerRoute) ProtoReflect() protoreflect.Message

func (*AWSLambdaPerRoute) Reset added in v0.19.2

func (x *AWSLambdaPerRoute) Reset()

func (*AWSLambdaPerRoute) String added in v0.19.2

func (x *AWSLambdaPerRoute) String() string

type AWSLambdaProtocolExtension added in v0.19.2

type AWSLambdaProtocolExtension struct {

	// The host header for AWS this cluster
	Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
	// The region for this cluster
	Region string `protobuf:"bytes,2,opt,name=region,proto3" json:"region,omitempty"`
	// The access_key for AWS this cluster
	AccessKey string `protobuf:"bytes,3,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"`
	// The secret_key for AWS this cluster
	SecretKey string `protobuf:"bytes,4,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"`
	// The session_token for AWS this cluster
	SessionToken string `protobuf:"bytes,5,opt,name=session_token,json=sessionToken,proto3" json:"session_token,omitempty"`
	// The role_arn to use when generating credentials for the mounted projected SA token
	RoleArn string `protobuf:"bytes,6,opt,name=role_arn,json=roleArn,proto3" json:"role_arn,omitempty"`
	// contains filtered or unexported fields
}

func (*AWSLambdaProtocolExtension) Clone added in v1.8.24

Clone function

func (*AWSLambdaProtocolExtension) Descriptor deprecated added in v0.19.2

func (*AWSLambdaProtocolExtension) Descriptor() ([]byte, []int)

Deprecated: Use AWSLambdaProtocolExtension.ProtoReflect.Descriptor instead.

func (*AWSLambdaProtocolExtension) Equal added in v1.5.0

func (m *AWSLambdaProtocolExtension) Equal(that interface{}) bool

Equal function

func (*AWSLambdaProtocolExtension) GetAccessKey added in v0.19.2

func (x *AWSLambdaProtocolExtension) GetAccessKey() string

func (*AWSLambdaProtocolExtension) GetHost added in v0.19.2

func (x *AWSLambdaProtocolExtension) GetHost() string

func (*AWSLambdaProtocolExtension) GetRegion added in v0.19.2

func (x *AWSLambdaProtocolExtension) GetRegion() string

func (*AWSLambdaProtocolExtension) GetRoleArn added in v1.5.0

func (x *AWSLambdaProtocolExtension) GetRoleArn() string

func (*AWSLambdaProtocolExtension) GetSecretKey added in v0.19.2

func (x *AWSLambdaProtocolExtension) GetSecretKey() string

func (*AWSLambdaProtocolExtension) GetSessionToken added in v1.5.0

func (x *AWSLambdaProtocolExtension) GetSessionToken() string

func (*AWSLambdaProtocolExtension) Hash added in v1.2.13

func (m *AWSLambdaProtocolExtension) Hash(hasher hash.Hash64) (uint64, error)

Hash function

func (*AWSLambdaProtocolExtension) ProtoMessage added in v0.19.2

func (*AWSLambdaProtocolExtension) ProtoMessage()

func (*AWSLambdaProtocolExtension) ProtoReflect added in v1.6.0

func (*AWSLambdaProtocolExtension) Reset added in v0.19.2

func (x *AWSLambdaProtocolExtension) Reset()

func (*AWSLambdaProtocolExtension) String added in v0.19.2

func (x *AWSLambdaProtocolExtension) String() string

Jump to

Keyboard shortcuts

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