{"id":18171356,"url":"https://github.com/nextoption/aws","last_synced_at":"2025-04-01T14:32:30.236Z","repository":{"id":260674417,"uuid":"881818319","full_name":"NextOption/aws","owner":"NextOption","description":"FakeAWS-Next Option of AWS and LocalStack","archived":false,"fork":false,"pushed_at":"2024-11-03T18:26:46.000Z","size":23,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-01T08:03:13.798Z","etag":null,"topics":["aws","developer-tools","golang","localstack","next-option"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NextOption.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-01T09:54:03.000Z","updated_at":"2025-01-12T18:29:36.000Z","dependencies_parsed_at":"2024-11-01T19:22:42.215Z","dependency_job_id":"c6c7c799-c8bb-45e4-8941-5f09174bb799","html_url":"https://github.com/NextOption/aws","commit_stats":null,"previous_names":["nextoption/aws"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NextOption%2Faws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NextOption%2Faws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NextOption%2Faws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NextOption%2Faws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NextOption","download_url":"https://codeload.github.com/NextOption/aws/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246655147,"owners_count":20812584,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","developer-tools","golang","localstack","next-option"],"created_at":"2024-11-02T15:08:45.277Z","updated_at":"2025-04-01T14:32:30.227Z","avatar_url":"https://github.com/NextOption.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/NextOption/id/refs/heads/main/logo/NextOptionLogo.jpeg\" alt=\"Next Option Logo\"\u003e\n\u003cbr/\u003e\u003cbr/\u003e\n\n## Next Option of AWS, LocalStack\n\n_AWS did not support local development.  \nLocalStack was born to solve this problem.  \nBut now they come with Premium Plan (-__-!) and provide cloud services.  \nWe are here with you, the next option of AWS, LocalStack._\n\n## Feature\n\n* Support for local development for RealAWS services.\n* Become a Localstack alternative.\n* Ready to live on production as a backup for RealAWS.\n\n### Lambda\n\nJust inject our fake lambda inside your code and you are ready to go.\nIt has the same interface as AWS Lambda but run in your code.\nOnly provide basic functions to Invoke now. It's enough for most of the cases that we just need to invoke lambda.\n\nSupported Interface:\n\n1. [x] `Invoke(input *InvokeInput) (*InvokeOutput, error)`\n2. [x] `InvokeWithContext(aws.Context, *lambda.InvokeInput, ...request.Option) (*lambda.InvokeOutput, error)`\n3. [x] `InvokeAsync` \u0026 `InvokeAsyncWithContext` deprecated by aws but supported by `Invoke` or `InvokeWithContext`\n4. [ ] Other APIs are not supported yet.\n\nSample code:\n```go\n\tif enableFakeLambda {\n\t\tInitFakeLambda(\n\t\t\tfake.WithFunction(lambdaFn1Name, handleFn1),\n\t\t\tfake.WithFunction(fn2Name, handleFn2),\n\t\t)\n\t} else {\n\t\tInitAWSLambda()\n\t}\n\t// invoke lambda_fn_1\n\t// lambda_fn_1 return nothing so we just skip it\n\t_, err := GetServerless().Invoke(\u0026real.InvokeInput{\n\t\tFunctionName: \u0026lambdaFn1Name,\n\t})\n\tif err != nil {\n\t\tfmt.Printf(\"error when invoke lambda 1: %v\", err)\n\t\treturn\n\t}\n```\n\nCheck the [example/lambda](example/lambda) folder for more information.\n\n### SQS (in progress)\nJust try to implement simple queue by go channel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextoption%2Faws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnextoption%2Faws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnextoption%2Faws/lists"}