{"id":18572935,"url":"https://github.com/karna41317/rest_aws","last_synced_at":"2026-04-25T22:34:19.439Z","repository":{"id":146887138,"uuid":"75816299","full_name":"karna41317/rest_AWS","owner":"karna41317","description":null,"archived":false,"fork":false,"pushed_at":"2016-12-07T08:39:02.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-06T00:07:14.339Z","etag":null,"topics":["aws","cloudformation","rest-api"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karna41317.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2016-12-07T08:38:50.000Z","updated_at":"2017-03-19T19:34:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"d249337c-4e5b-4b5b-b03b-436e7e4b7e35","html_url":"https://github.com/karna41317/rest_AWS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/karna41317/rest_AWS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karna41317%2Frest_AWS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karna41317%2Frest_AWS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karna41317%2Frest_AWS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karna41317%2Frest_AWS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karna41317","download_url":"https://codeload.github.com/karna41317/rest_AWS/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karna41317%2Frest_AWS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32279657,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"ssl_error","status_checked_at":"2026-04-25T18:29:32.149Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","cloudformation","rest-api"],"created_at":"2024-11-06T23:07:38.550Z","updated_at":"2026-04-25T22:34:19.423Z","avatar_url":"https://github.com/karna41317.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"AWS REST API Server\n===================\n[![Build Status](https://drone.io/github.com/sekka1/AWS-REST-API-Server/status.png)](https://drone.io/github.com/sekka1/AWS-REST-API-Server/latest)\n\nThis is basically a wrapper around the AWS javascript SDK that exposes out a REST interface for its functionality.\n\nIt is like the AWS CLI tool but as a REST API.\n\nAWS Credentials Setup\n=====================\nYou will need to get keys to your AWS account for the API to make requests with it.  These key strings are placed into a file called config.js.  There is a config.js.sample that you can copy and use.\n\nRunning the REST API\n====================\n\n    npm install\n    node app.js\n    \nUsing the REST API\n==================\nYou can use any of the AWS service described here: [http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Service.html](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Service.html)\n\nThe endpoint name is the class name (case sensitive)\n\n\n\n## CloudFormation\n\n### createStack\n\nAWS documentation on the parameters: [http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFormation.html#createStack-property](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFormation.html#createStack-property)\n\n    curl -X PUT localhost:8080/CloudFormation \\\n    -d 'stack_config={\"StackName\":\"testAutomationStack\",\"OnFailure\":\"ROLLBACK\"}' \\\n    -d 'cloudformation_template=\u003cFULL_CLOUDFORMATION_JSON_TEMPLATE\u003e' \n\n### updateStack\n\nAWS documentation on the parameters: [http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFormation.html#updateStack-property](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFormation.html#updateStack-property)\n\n    curl -X POST localhost:8080/CloudFormation \\\n    -d 'stack_config={\"StackName\":\"testAutomationStack\"}' \\\n    -d 'cloudformation_template=\u003cFULL_CLOUDFORMATION_JSON_TEMPLATE\u003e' \n\n### deleteStack\n\nAWS documentation on the parameters: [http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFormation.html#deleteStack-property](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFormation.html#deleteStack-property)\n\n    curl -X DELETE localhost:8080/CloudFormation/\u003cSTACK_NAME\u003e\n\n### describeStacks    \n\nAWS documentation on the parameters: [http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFormation.html#describeStacks-property](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFormation.html#describeStacks-property)\n\n    curl -X GET localhost:8080/CloudFormation/describeStacks/\u003cSTACK_NAME\u003e    \n    \n### validateTemplate\n\nAWS documentation on the parameters: [http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFormation.html#validateTemplate-property](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFormation.html#validateTemplate-property)\n\n    curl -X POST localhost:8080/CloudFormation/validateTemplate \\\n    -d 'cloudformation_template=\u003cFULL_CLOUDFORMATION_JSON_TEMPLATE\u003e'\n\n## JSON Strip Comments\nStrips out the comments in a JSON string.  This is useful for CloudFormation templates where you comment inside the JSON template.\n\n    curl -X POST localhost:8080/json-strip-comments \\\n    -d 'json={/**comment here*/ \"json\":\"here\"}'\n\n## SQS\n\n### receiveMessage\n\nAWS documentation on the parameters: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#receiveMessage-property\n\nThe params has to be URL encoded.\n\n    curl localhost:8080/SQS/\u003cURL encoded params per the doc\u003e\n\n### sendMessage\n\nAWS documentation on the parameters: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html#sendMessage-property\n\n    curl -v -X POST localhost:8080/SQS/sendMessage \\\n    -d 'params=\u003cSQS sendMessage PARAMS\u003e'\n\n# EC2\nAny EC2 endpoint listed here can be used: [http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html)\n\nThe generic syntax is:\n\n     curl -v -X POST localhost:8080/EC2/\u003cMETHOD_NAME\u003e \\\n     -H 'Content-Type: application/json' \\\n     -d '\u003cdescribeInstances params\u003e'\n\n## Here are some example usage:\n\n### describeInstances\nSearch throughout your AWS account for information about various resources.\n\nAWS documentation on the parameters: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#describeInstances-property\n\n    curl -v -X POST localhost:8080/EC2/describeInstances \\\n    -H 'Content-Type: application/json' \\\n    -d '\u003cdescribeInstances params\u003e'\n    \nExample params\n\n    {\n      \"Filters\": [\n        {\n          \"Name\": \"tag:myTagKey\",\n          \"Values\": [\n            \"my tag value here\"\n          ]\n        },\n        {\n          \"Name\": \"tag:moreTagKey\",\n          \"Values\": [\n            \"more tag values here\"\n          ]\n        },\n        {\n          \"Name\": \"instance-state-name\",\n          \"Values\": [\n            \"running\"\n          ]\n        }\n      ]\n    }\n    \n    \n### createTags\nAdds or overwrites one or more tags for the specified EC2 resource or resources.\n\nAWS documentation on the parameters: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#createTags-property\n\n    curl -v -X POST localhost:8080/EC2/createTags \\\n    -H 'Content-Type: application/json' \\\n    -d '\u003ccreateTags params\u003e'\n    \nExample Params\n\n    {\n      \"Resources\": [\n        \"i-1d4402f6\"\n      ],\n      \"Tags\": [\n        {\n          \"Key\": \"test\",\n          \"Value\": \"two\"\n        }\n      ]\n    }\n\n### getPasswordData\nRetrieves the encrypted administrator password for an instance running Windows.\n\nAWS documentation on the parameters: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html#getPasswordData-property\n\n    curl -v -X POST localhost:8080/EC2/getPasswordData \\\n    -H 'Content-Type: application/json' \\\n    -d '\u003ccreateTags params\u003e'\n\nExample Params\n\n    {\n      \"InstanceId\": \u003cinstance_id\u003e\n    }\n\nExample Return:\n\n    {\n      \"InstanceId\": \"i-48599d7a\",\n      \"Timestamp\": \"2014-12-11T01:18:27.000Z\",\n      \"PasswordData\": \"\\r\\nZoV5gs0......wLrWk1KRJmKNzp6Q==\\r\\n\"\n    }\n\n# Route53\n\n### changeResourceRecordSets\nUse this action to create or change your authoritative DNS information.\n\nAWS documentation on the parameters: http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/Route53.html#changeResourceRecordSets-property\n\n    curl -v -X POST localhost:8080/Route53/changeResourceRecordSets \\\n    -H 'Content-Type: application/json' \\\n    -d '\u003ccreateTags params\u003e'\n    \nExample params\n\n    {\n      \"ChangeBatch\": {\n        \"Changes\": [\n          {\n            \"Action\": \"CREATE\",\n            \"ResourceRecordSet\": {\n              \"Name\": \"my.domain.name.com.\",\n              \"Type\": \"A\",\n              \"TTL\": \"600\",\n              \"ResourceRecords\": [\n                {\n                  \"Value\": \"10.1.1.100\"\n                }\n              ]\n            }\n          }\n        ],\n        \"Comment\": \"created by AWS-REST-API-SERVER\"\n      },\n      \"HostedZoneId\": \"\u003cHOSTED_ZONE_ID\u003e\"\n    }\n\nDocker Container\n=================\nThere is a Dockerfile at the root of this project to setup a ready to go container serving out this functionality.  \n\nThis project is also being built on docker automatically on ever commit.  You can pull it from there also.  [https://registry.hub.docker.com/u/garland/aws-rest-api-server/](https://registry.hub.docker.com/u/garland/aws-rest-api-server/)\n\n## Running the container\nYou will need to pass in the config.js parameters to the containers via environmental variables.  Only the accessKeyId and secretAccessKey are required.\n\n    docker run \\\n    -p 80:8080 \\\n    --env aws_accessKeyId=YOUR_KEY_HERE \\\n    --env aws_secretAccessKey=YOUR_SECRET_KEY_HERE \\\n    --env aws_region=us-west-2 \\\n    --env aws_DynamoDB_version=2012-08-10 \\\n    --env aws_CloudFormation_version=2010-05-15 \\\n    --env aws_SQS_version=2012-11-05 \\\n    --env aws_EC2_version=2014-06-15 \\\n    --env aws_route53_version=2013-04-01 \\\n    -d garland/aws-rest-api-server\n    \nList of valid AWS regions: http://docs.aws.amazon.com/general/latest/gr/rande.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarna41317%2Frest_aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarna41317%2Frest_aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarna41317%2Frest_aws/lists"}