GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Initial Commit · rusterman/aws-lambda-cpp-sam@f74b0ff

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
  • .env
  • .gitignore
  • CONTRIBUTING.md
  • LICENSE
  • Readme.md
  • cpp-lambda
    • Dockerfile
    • examples
      • api-gateway
        • CMakeLists.txt
        • README.md
        • main.cpp
      • demo
        • CMakeLists.txt
        • main.cpp
      • dynamodb
        • CMakeLists.txt
        • README.md
        • main.cpp
      • hello
        • CMakeLists.txt
        • main.cpp
      • s3
        • CMakeLists.txt
        • Readme.md
        • main.cpp
    • tests
      • lambda-runtime-tests
        • .dockerignore
        • CMakeLists.txt
        • Dockerfile
        • Readme.md
        • gtest
          • .clang-tidy
          • gtest-all.cc
          • gtest.h
        • main.cpp
        • resources
          • CMakeLists.txt
          • lambda_function.cpp
        • runtime_tests.cpp
        • version_tests.cpp
      • resources
        • .dockerignore
        • CMakeLists.txt
        • Dockerfile
        • Readme.md
        • lambda_function.cpp
        • lambda_function.h
        • lambda_function_test.cpp
        • main.cpp
        • run_all_tests.sh
      • simple_unit_test
        • .dockerignore
        • CMakeLists.txt
        • Dockerfile
        • main.cpp
        • sample.cpp
        • sample.h
        • test
          • sample_test.cpp
  • docker-compose.yml
  • lambda-deployment
    • Dockerfile
    • entrypoint.sh
    • src
      • app.py
      • lambda_deploy
        • lambda_deploy_stack.py
  • lambda-emulator
    • Dockerfile
    • entrypoint.sh
  • unit-tests
    • Dockerfile
    • api-gateway
      • CMakeLists.txt
      • test_lambda.cpp
    • payload
      • invalid_json.json
      • missing_body_field.json
      • missing_fields.json
      • valid_input.json

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎.env‎

Copy file name to clipboard
+27Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Set environment variables for the compiler
2+
3+
# These variables specify gcc and g++ as the C and C++ compilers respectively
4+
export CC=gcc
5+
export CXX=g++
6+
7+
# Specify the C++ standard version (11, 14, 17)
8+
export CPP_VERSION=17
9+
10+
# Set environment variables for the task folder and package name
11+
export LAMBDA_TASK_ROOT=/var/task
12+
export LAMBDA_PACKAGE_NAME=api-gateway
13+
export DCMAKE_BUILD_TYPE=Debug
14+
15+
# AWS Lambda configuration (replace with actual credentials)
16+
# Update with your DynamoDB table name and region
17+
export TABLE_NAME=your-dynamo-table-name
18+
export AWS_REGION=your-region
19+
export AWS_ACCESS_KEY_ID=your-access-key
20+
export AWS_SECRET_ACCESS_KEY=your-secret-key
21+
22+
# Optional for session access
23+
# export AWS_SESSION_TOKEN=YOUR_SESSION_TOKEN
24+
25+
# Memory size for the Lambda function (adjust as needed, in MB)
26+
# Note: Local memory usage might not reflect actual Lambda behavior.
27+
export AWS_LAMBDA_FUNCTION_MEMORY_SIZE=128
Collapse file

‎.gitignore‎

Copy file name to clipboard
+20Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
CMakeLists.txt.user
2+
CMakeCache.txt
3+
CMakeFiles
4+
CMakeScripts
5+
Testing
6+
Makefile
7+
cmake_install.cmake
8+
install_manifest.txt
9+
compile_commands.json
10+
CTestTestfile.cmake
11+
_deps
12+
/pkg
13+
/build
14+
/bin
15+
*.swp
16+
*.iml
17+
tags
18+
.idea
19+
.DS_Store
20+
.venv
Collapse file

‎CONTRIBUTING.md‎

Copy file name to clipboard
+111Lines changed: 111 additions & 0 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
# Contributing to AWS Lambda C++ Framework
2+
3+
First off, thank you for taking the time to contribute! 🎉
4+
5+
6+
## How Can You Contribute?
7+
8+
- Reporting Bugs
9+
- Suggesting Enhancements
10+
- Writing Code (Fixes, Features, Documentation)
11+
- Improving Documentation
12+
- Adding Tests
13+
14+
15+
## Getting Started
16+
17+
To get started, follow these steps:
18+
19+
1. Fork the repository.
20+
2. Clone your fork:
21+
```sh
22+
git clone https://github.com/yourusername/your-repository-name.git
23+
```
24+
3. Create a new branch for your feature or bugfix:
25+
```sh
26+
git checkout -b feature/your-feature-name
27+
```
28+
29+
30+
## Building the Project
31+
32+
To build the project, you'll need Docker and Docker Compose installed. The project uses a multi-container setup for development, testing, and deployment.
33+
34+
1. Build and start the Docker containers:
35+
```sh
36+
docker-compose up --build
37+
```
38+
2. The above command will initiate the build process, start the necessary services, and run tests.
39+
40+
41+
## Running Tests
42+
43+
To ensure your changes don't break existing functionality, run the tests:
44+
45+
1. Start the `unit-tests` service:
46+
```sh
47+
docker-compose run unit-tests
48+
```
49+
2. Check the test results and make sure all tests pass before submitting your changes.
50+
51+
52+
## Adding New Examples or Tests
53+
1. **Examples:** Add new examples to the `cpp-lambda/examples` directory. Ensure each example has its own `CMakeLists.txt` file and a README explaining how to build and run the example.
54+
2. **Tests:** Add new tests to the `cpp-lambda/tests` directory. Follow the existing structure and use the Google Test framework for writing unit tests.
55+
56+
57+
## Committing Your Changes
58+
59+
1. Stage your changes:
60+
```sh
61+
git add .
62+
```
63+
2. Commit your changes with a descriptive message:
64+
```sh
65+
git commit -m "Add feature XYZ"
66+
```
67+
68+
3. Commit your changes with a descriptive message:
69+
```sh
70+
git push origin feature/your-feature-name
71+
```
72+
73+
74+
## Creating a Pull Request
75+
76+
1. Navigate to the original repository on GitHub.
77+
2. Click on the "New pull request" button.
78+
3. Select the branch you just pushed to.
79+
4. Provide a clear title and description for your pull request.
80+
5. Submit the pull request.
81+
82+
83+
## Code of Conduct
84+
Please note that this project adheres to a Code of Conduct. By participating, you are expected to uphold this code.
85+
86+
87+
## Style Guide
88+
- Follow the C++ Core Guidelines and adhere to the project's existing style.
89+
- Use meaningful variable and function names.
90+
- Document your code appropriately.
91+
- Write unit tests for any new features or changes.
92+
93+
94+
## Reporting Bugs
95+
If you find a bug, please report it by opening an issue. Include as much detail as possible:
96+
97+
- Steps to reproduce the bug.
98+
- Expected behavior.
99+
- Actual behavior.
100+
- Your environment (OS, Docker version, etc.).
101+
102+
103+
## Suggesting Enhancements
104+
If you have a suggestion for improving the project, please open an issue with the following information:
105+
106+
- A detailed description of the enhancement.
107+
- The motivation behind the enhancement.
108+
- Any examples or references that could help understand the enhancement better.
109+
110+
## Thank You!
111+
Thank you for your interest in contributing to the AWS Lambda C++ Framework! Your contributions are highly appreciated.
Collapse file

‎LICENSE‎

Copy file name to clipboard
+21Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Rustam
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
0 (0)
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.