GithubHelp home page GithubHelp logo

come219 / auto_aws_lambda_setup Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 46 KB

Automatically creates a Lambda function based on the arguments of the execution call. Configures the SDK, configs and language of the lambda function

License: MIT License

Shell 56.02% JavaScript 39.25% Python 4.74%
automation aws aws-lambda bash bash-scripting dynamodb javascript json mysql nodejs python python3 testing

auto_aws_lambda_setup's Introduction

This is a README.md file for this code project : Automatic AWS Lambda Dummy Function Setup written by sebistj, 25/01/23 last updated on, 27/01/23 version 1.0

Automatic AWS Lambda Dummy Function Setup

/auto_aws_lambda_setup

This project intends to, when invoked, automatically create an AWS Lambda function on the corresponding configured region.

Currently it has two invocation methods:

  • auto_setup.sh | This function prompts the user to configure their AWS region and account.

  • auto_run.sh | This function features parameters when invoking the script, with multiple configurations. Error checking.

  • auto_run_simple.sh | This function runs the functions without parameters or intervention. Parameters are set within the script.

Prerequisites:

These are the prerequisites that are required inorder to invoke the script as the script uses them to preform the function.

On the chosen region of AWS, the lambda function must not exist, even in cache (hidden from the dashboard / hidden from AWS ).

Futhermore, the role (IAM, Identity and Access Management, - Roles) that is generated by this function must not exist.

If there are errors while using this script and the role & lambda function do not exist, then creating the lambda function and deleting it would normally be able to fix this issue.

Note: it is better to delete the Lambda function before deleting the role.

  • awscliv2 | version 2 of AWS command line use (no dependency hell but installed through pip)
  • (old) awscli | AWS command line use
  • python | python sdk
  • python3 | python3 sdk
  • json | json sdk
  • nodejs.14 | nodejs 14 sdk
  • nodejs.16 | nodejs 16 sdk
  • nodejs.18 | nodejs 18 sdk
  • java | java sdk
  • (old) jq - to replace json words
  • git | git ??

Commands:

This is a list of commands that are used within the project:

  • To start set up of the project: $ bash auto_setup.sh

    $ ./bin/auto_setup

  • Initiate the automated script (simple version):

      $ bash auto_run_simple.sh 
    
      $ ./bin/auto_run_simple 
    
  • Initiate the automated advanced script:

      $ bash auto_run.sh {param1} {param2}
    
      $ ./bin/auto_run {param ...}
    

    Parameters:

    • param 0: Region configuration
    • param 1: Function name
    • param 2: Role name
    • param 3: ...

Codebase Files required:

This is a list files from the codebase that are required for the project to run properly.

  • /bin/ | This folder should contain all the executables for the project.
  • /scripts/ | This folder should contain all the scripts for the project.
  • /src/ | This is the source folder that should contain the project codebase.
  • /docs/ | This folder will contain all the relevant docs for the project.
  • /logs_folder/ | This folder contains all the logs generated from running the script.
  • /sed_folder/ | This folder is used by sed to write the ARN to temp file to be used.
  • /arn_folder/ | This folder contains the role arn outputs.
  • /lambda_folder/ | This folder contains the different dummy lambda function codes & zip files.
  • /role_folder/ | This folder contains the different role configuration files represented as json.
  • /config_folder/ | This folder contains the data for configuring to the AWS account & region.
  • /test_folder/ | This folder contains the different testing methods & techniques.

Files produced & Outputs:

These files are produced as an output as a result for running/successfully executing the script.

  • function_output | This file contains the lambda function creation execution output
  • arn_file | This file contains the arn datas for the created lambda objects
  • Lambda function | An empty framework lambda function with all the configurations setup.
  • IAM role | An IAM role that is used by the corresponding lambda function.

Change Log:

     ___________________________________________________
    | Version |     Date     |  Name         |  Comment
    |_________|______________|_______________|___________
    |   0.1   | ??/11-12/22  |  concieved    | init project
    |_________|______________|_______________|___________
    |   0.2   |    25/01/23  |  git init     | git init
    |_________|______________|_______________|___________
    |   1.0   |    27/01/23  |  project init | versioning
    |_________|______________|_______________|___________
    |   1.1   |   02/02/23   |  m.v.p.       | working minimum viable product
    |_________|______________|_______________|___________
    |   1.2   |   unreleased |  working adv  | working advanced version
    |_________|______________|_______________|__________

Back Log:

    [✓] created this...
    [x] finished implementation
    [x] working advanced version
    [✓] 30/01/23, uncommentted functions/features ... more documentation
[✓] 02/02/23, working functions with distinguishable names
[x] need params -> advanced version
[x] other error checking

auto_aws_lambda_setup's People

Stargazers

Roman avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.