Spaces:
Runtime error
Runtime error
| service: slide-creation-node-dev | |
| provider: | |
| name: aws | |
| region: ap-south-1 | |
| stage: ${opt:stage, 'dev'} | |
| memorySize: 2048 | |
| timeout: 900 | |
| environment: | |
| ASSETS_BUCKET: tech-learn-state | |
| OUTPUT_S3_BUCKET: tech-learn-state | |
| OUTPUT_S3_KEY: "output/slides_video.mp4" | |
| STATE_FILE_PREFIX: "video_states/" | |
| OPENAI_API_KEY: ${env:OPENAI_API_KEY} | |
| GEMINI_API_KEY: ${env:GEMINI_API_KEY} | |
| ANTHROPIC_API_KEY: ${env:ANTHROPI_API_KEY} | |
| PYTHONIOENCODING: "utf-8" | |
| DYNAMO_TABLE: SessionTracking | |
| COURSE_TABLE: CourseTracking | |
| iam: | |
| role: | |
| statements: | |
| - Effect: "Allow" | |
| Action: | |
| - "s3:GetObject" | |
| - "s3:PutObject" | |
| - "s3:ListBucket" | |
| Resource: | |
| - "arn:aws:s3:::${self:provider.environment.ASSETS_BUCKET}" | |
| - "arn:aws:s3:::${self:provider.environment.ASSETS_BUCKET}/*" | |
| - Effect: "Allow" | |
| Action: | |
| - "logs:CreateLogGroup" | |
| - "logs:CreateLogStream" | |
| - "logs:PutLogEvents" | |
| Resource: "arn:aws:logs:${aws:region}:${aws:accountId}:log-group:/aws/lambda/*:*" | |
| - Effect: "Allow" | |
| Action: | |
| - "dynamodb:PutItem" | |
| - "dynamodb:UpdateItem" | |
| - "dynamodb:GetItem" | |
| Resource: | |
| - "arn:aws:dynamodb:${aws:region}:${aws:accountId}:table/${self:provider.environment.DYNAMO_TABLE}" | |
| - "arn:aws:dynamodb:${aws:region}:${aws:accountId}:table/${self:provider.environment.COURSE_TABLE}" | |
| functions: | |
| slideCreationNode: | |
| name: slide-creation-node-${self:provider.stage} | |
| image: 471112784201.dkr.ecr.ap-south-1.amazonaws.com/techlearn/slide_creation_node_dev:latest | |
| memorySize: 8192 | |
| ephemeralStorageSize: 5120 | |
| events: | |
| - http: | |
| path: /generate-slides | |
| method: post | |
| cors: true | |
| # resources: | |
| # Resources: | |
| # SlideCreationNodeLogGroup: | |
| # Type: AWS::Logs::LogGroup | |
| # Properties: | |
| # LogGroupName: /aws/lambda/slide-creation-node-${self:provider.stage} | |
| # RetentionInDays: 14 | |