{"id":29342856,"url":"https://github.com/jbrt/aws-tagging-machine","last_synced_at":"2026-05-19T09:06:45.893Z","repository":{"id":168537918,"uuid":"137235581","full_name":"jbrt/aws-tagging-machine","owner":"jbrt","description":"Auto applying tags for AWS resources for a better activity and costs tracking","archived":false,"fork":false,"pushed_at":"2019-12-24T08:54:15.000Z","size":152,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-08T11:08:03.878Z","etag":null,"topics":["aws","cloudformation","lambda","lambda-functions","serverless","tagging","tags"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jbrt.png","metadata":{"files":{"readme":"README.rst","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,"zenodo":null}},"created_at":"2018-06-13T15:34:31.000Z","updated_at":"2025-02-23T22:13:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"590c24b9-6c14-442e-b785-51a20526f695","html_url":"https://github.com/jbrt/aws-tagging-machine","commit_stats":null,"previous_names":["jbrt/aws-tagging-machine"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/jbrt/aws-tagging-machine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbrt%2Faws-tagging-machine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbrt%2Faws-tagging-machine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbrt%2Faws-tagging-machine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbrt%2Faws-tagging-machine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jbrt","download_url":"https://codeload.github.com/jbrt/aws-tagging-machine/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jbrt%2Faws-tagging-machine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33209476,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-19T07:54:09.561Z","status":"ssl_error","status_checked_at":"2026-05-19T07:54:08.508Z","response_time":58,"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","lambda","lambda-functions","serverless","tagging","tags"],"created_at":"2025-07-08T11:07:58.965Z","updated_at":"2026-05-19T09:06:45.888Z","avatar_url":"https://github.com/jbrt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"AWS Tagging Machine\n===================\n\nAuto applying tags for AWS resources for a better activity and costs tracking.\n\nDescription\n-----------\n\nThis project use a Lambda function to tag AWS resources by following this\nprocess:\n\n1. CloudTrail produces events\n2. These events are catch by an CloudWatch Event Rule\n3. The Rule trigger an Lambda function\n4. The function tags the resource depending on event source\n\n.. image:: images/template.png\n    :align: center\n\nHere is an example of applied tags on a resource:\n\n.. image:: images/example-tags.png\n    :align: center\n\nCurrent event supported:\n\n- (EC2) RunInstances\n- (EC2) CreateImage\n- (EC2) CreateDhcpOptions\n- (EC2) CreateNetworkAcl\n- (EC2) CreateNetworkInterface\n- (EC2) CreateRouteTable\n- (EC2) CreateSecurityGroup\n- (EC2) CreateSnapshot\n- (EC2) CreateSubnet\n- (EC2) CreateVolume\n- (EC2) CreateVpc\n- (EC2) CreateInternetGateway\n- (DynamoDB) CreateTable\n- (S3) CreateBucket\n- (SQS) CreateQueue\n\nMuch more events will be added, see TODO section for more information.\nWork in progress.\n\nPrerequisites\n-------------\n\n**Obviously, CloudTrail must be activated.**\n\nDeployment\n----------\n\nDeployment with CloudFormation\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nTo deploy this solution you can use the CloudFormation template present in the\n\"deployment\" directory. This directory also contains a ZIP file containing the\nwhole source code of this project.\n\nIf you want to delete this solution just destroy the CloudFormation stack.\n\nDeployment with Terraform\n^^^^^^^^^^^^^^^^^^^^^^^^^\n\nYou can also use Terraform to deploy this solution:\n\n1. Go in the deployment/terraform directory\n2. Set environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY with your credentials\n3. If it's the first time you use Terraform, do an ``terraform init`` before go further\n4. do an ``terraform plan -var aws_region=YOUR_REGION`` to preview the changes (the default region is eu-west-1)\n5. do an ``terraform apply -var aws_region=YOUR_REGION`` to create the resources\n\nIf you want to delete this solution just do a ``terraform destroy``.\n\nTODO\n----\n\nThe development is still ongoing. The next releases will add:\n\n- support of more events and AWS services\n- other deployment methods (Ansible probably)\n- another stuff, who knows :-)\n\nPull requests are welcome.\n\nHow to add support of new events into the code ?\n------------------------------------------------\n\nTo add the support of new events into the code, you have to do 5 things:\n\n1. Add the parsing of the new event in the right Python module (ex: events_ec2.py)\n2. Add the support of this new event in the factory module (factory.py)\n3. Update the CloudFormation template by adding this event in the CloudWatch Rule\n4. Write some unittests and put them into the file unittest-lambda.py (and add a sample in the directory event-samples)\n5. Update this page if needed :-)\n\nLicense\n-------\n\nThis project is under GPL3 license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbrt%2Faws-tagging-machine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjbrt%2Faws-tagging-machine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjbrt%2Faws-tagging-machine/lists"}