Documentation
¶
Overview ¶
Package awsinit provides standardized AWS service initialization for Lambda functions.
Index ¶
- Variables
- type AWSServices
- func InitializeServices(ctx context.Context, serviceConfig ServiceConfig, logger *zap.Logger) (*AWSServices, error)
- func InitializeWithConfig(awsConfig aws.Config, serviceConfig ServiceConfig, logger *zap.Logger) *AWSServices
- func MustInitializeServices(ctx context.Context, serviceConfig ServiceConfig, logger *zap.Logger) *AWSServices
- type ServiceConfig
Constants ¶
This section is empty.
Variables ¶
var ( // ErrLoggerRequired indicates that a logger parameter was nil or not provided ErrLoggerRequired = errors.LoggerRequired() )
Error constants for AWS initialization failures
Functions ¶
This section is empty.
Types ¶
type AWSServices ¶
type AWSServices struct {
Config aws.Config
S3 *s3.Client
SQS *sqs.Client
CloudWatch *cloudwatch.Client
SecretsManager *secretsmanager.Client
Comprehend *comprehend.Client
MediaConvert *mediaconvert.Client
SNS *sns.Client
Lambda *awslambda.Client
Logger *zap.Logger
}
AWSServices contains initialized AWS service clients
func InitializeServices ¶
func InitializeServices(ctx context.Context, serviceConfig ServiceConfig, logger *zap.Logger) (*AWSServices, error)
InitializeServices creates AWS service clients based on configuration
func InitializeWithConfig ¶
func InitializeWithConfig(awsConfig aws.Config, serviceConfig ServiceConfig, logger *zap.Logger) *AWSServices
InitializeWithConfig creates services using an existing AWS config
func MustInitializeServices ¶
func MustInitializeServices(ctx context.Context, serviceConfig ServiceConfig, logger *zap.Logger) *AWSServices
MustInitializeServices is like InitializeServices but panics on error
type ServiceConfig ¶
type ServiceConfig struct {
// Service flags - only initialize what's needed
RequiresDynamoDB bool
RequiresS3 bool
RequiresSQS bool
RequiresCloudWatch bool
RequiresSecretsManager bool
RequiresComprehend bool
RequiresMediaConvert bool
RequiresSNS bool
RequiresLambda bool
// Configuration
Region string
ServiceName string
RequestTimeout time.Duration
RetryMaxAttempts int
}
ServiceConfig defines which AWS services to initialize
func AIServiceConfig ¶
func AIServiceConfig() ServiceConfig
AIServiceConfig returns config for AI processing Lambda functions
func APIServiceConfig ¶
func APIServiceConfig() ServiceConfig
APIServiceConfig returns config for API Lambda functions
func BasicServiceConfig ¶
func BasicServiceConfig() ServiceConfig
BasicServiceConfig returns a minimal config for simple Lambda functions
func FederationServiceConfig ¶
func FederationServiceConfig() ServiceConfig
FederationServiceConfig returns config for federation Lambda functions
func MediaServiceConfig ¶
func MediaServiceConfig() ServiceConfig
MediaServiceConfig returns config for media processing Lambda functions
func ProcessorServiceConfig ¶
func ProcessorServiceConfig() ServiceConfig
ProcessorServiceConfig returns config for processor Lambda functions