Documentation
¶
Index ¶
- Constants
- Variables
- func GetParameter(ctx context.Context, input *ssm.GetParameterInput) (*ssm.GetParameterOutput, error)
- func GetSecretValue(ctx context.Context, input *secretsmanager.GetSecretValueInput) (*secretsmanager.GetSecretValueOutput, error)
- func SetUpGlobalLogger(ctx context.Context) func()
- func SetUpLogger(ctx context.Context, logger *log.Logger) func()
- type GetParameterClient
- type GetSecretValueClient
- type ParameterSecretsExtensionClient
- func (l *ParameterSecretsExtensionClient) GetParameter(ctx context.Context, input *ssm.GetParameterInput, _ ...func(*ssm.Options)) (*ssm.GetParameterOutput, error)
- func (l *ParameterSecretsExtensionClient) GetSecretValue(ctx context.Context, input *secretsmanager.GetSecretValueInput, ...) (*secretsmanager.GetSecretValueOutput, error)
Constants ¶
const ( // DebugLogFlags is the flag passed to log.SetFlags by SetUpLogger if IsDebug is true. DebugLogFlags = log.Ldate | log.Lmicroseconds | log.LUTC | log.Llongfile | log.Lmsgprefix // DefaultLogFlags is the flag passed to log.SetFlags by SetUpLogger if IsDebug is false. DefaultLogFlags = DebugLogFlags | log.Lshortfile )
Variables ¶
var DefaultParameterSecretsExtensionClient = &ParameterSecretsExtensionClient{Client: http.DefaultClient}
DefaultParameterSecretsExtensionClient is the client used by package-level GetSecretValue and GetParameter.
var IsDebug bool
IsDebug is true if the "DEBUG" environment have value "1" or "true".
The value of IsDebug is set at startup by way of init(). While many things in the lambda package use this value, nothing will modify it. If you want to use a different environment variable or a different way to toggle DEBUG behaviour, modify this value directly.
Functions ¶
func GetParameter ¶
func GetParameter(ctx context.Context, input *ssm.GetParameterInput) (*ssm.GetParameterOutput, error)
GetParameter is a wrapper around [DefaultClient.GetParameter].
func GetSecretValue ¶
func GetSecretValue(ctx context.Context, input *secretsmanager.GetSecretValueInput) (*secretsmanager.GetSecretValueOutput, error)
GetSecretValue is a wrapper around [DefaultClient.GetSecretValue].
func SetUpGlobalLogger ¶
SetUpGlobalLogger applies sensible default settings to log.Default instance.
Specifically, log.SetFlags is called with DefaultLogFlags, and if lambdacontext.LambdaContext.AwsRequestId is available then it is set as the log prefix with log.SetPrefix.
A function is returned that should be deferred upon to reset the log flags and prefix back to the original values. Use SetUpLogger if you wish to modify a specific log.Logger.
Usage
// this should be the first line in your AWS Lambda handler. many Start methods in this package will do this // for you by default. // notice the double ()() to make sure SetUpGlobalLogger executes some function first, then its returned // function is deferred. defer logsupport.SetUpGlobalLogger()()
Types ¶
type GetParameterClient ¶
type GetParameterClient interface {
GetParameter(ctx context.Context, params *ssm.GetParameterInput, optFns ...func(*ssm.Options)) (*ssm.GetParameterOutput, error)
}
GetParameterClient abstracts the GetParameter API that has an implementation using AWS Parameter and Secrets Lambda extension (ParameterSecretsExtensionClient).
type GetSecretValueClient ¶
type GetSecretValueClient interface {
GetSecretValue(ctx context.Context, params *secretsmanager.GetSecretValueInput, optFns ...func(*secretsmanager.Options)) (*secretsmanager.GetSecretValueOutput, error)
}
GetSecretValueClient abstracts the GetSecretValue API that has an implementation using AWS Parameter and Secrets Lambda extension (ParameterSecretsExtensionClient).
type ParameterSecretsExtensionClient ¶
type ParameterSecretsExtensionClient struct { // Client is the HTTP client to use for making HTTP requests. // // If nil, http.DefaultClient is used. Client *http.Client // contains filtered or unexported fields }
ParameterSecretsExtensionClient implements both GetParameterClient and GetSecretValueClient using the AWS Parameter and Secrets Lambda extension.
See https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets_lambda.html and https://docs.aws.amazon.com/systems-manager/latest/userguide/ps-integration-lambda-extensions.html.
The zero-value DefaultParameterSecretsExtensionClient is ready for use.
func (*ParameterSecretsExtensionClient) GetParameter ¶
func (l *ParameterSecretsExtensionClient) GetParameter(ctx context.Context, input *ssm.GetParameterInput, _ ...func(*ssm.Options)) (*ssm.GetParameterOutput, error)
func (*ParameterSecretsExtensionClient) GetSecretValue ¶
func (l *ParameterSecretsExtensionClient) GetSecretValue(ctx context.Context, input *secretsmanager.GetSecretValueInput, _ ...func(*secretsmanager.Options)) (*secretsmanager.GetSecretValueOutput, error)