{"id":21712785,"url":"https://github.com/mhausenblas/arn.services","last_synced_at":"2025-09-11T23:08:07.968Z","repository":{"id":140043446,"uuid":"233081073","full_name":"mhausenblas/arn.services","owner":"mhausenblas","description":"Utility service for Amazon Resource Names (ARNs)","archived":false,"fork":false,"pushed_at":"2020-01-16T11:00:06.000Z","size":21,"stargazers_count":13,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-12T18:12:27.524Z","etag":null,"topics":["arn","aws","service"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mhausenblas.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":"2020-01-10T15:57:28.000Z","updated_at":"2020-05-20T20:18:49.000Z","dependencies_parsed_at":"2024-06-19T06:30:18.266Z","dependency_job_id":"20e1c245-bd92-40a0-a324-a55b7cced304","html_url":"https://github.com/mhausenblas/arn.services","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhausenblas%2Farn.services","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhausenblas%2Farn.services/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhausenblas%2Farn.services/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhausenblas%2Farn.services/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mhausenblas","download_url":"https://codeload.github.com/mhausenblas/arn.services/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248610341,"owners_count":21132919,"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":["arn","aws","service"],"created_at":"2024-11-25T23:41:47.617Z","updated_at":"2025-04-12T18:12:33.598Z","avatar_url":"https://github.com/mhausenblas.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# arn.services\n\nA utility service for Amazon Resource Names ([ARNs](https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html)), providing the functionality \nas listed below. You can consume it as an online service via `https://arn.services` or run it yourself as a\n[SAM application](https://aws.amazon.com/serverless/sam/), see details below in the [run it yourself](#run-it-yourself) section.\n\n## Use it\n\nARN Services has two features: you can [break up an ARN into its components](#compartmentalize)\nand you can [generate an ARN from its components](#generate). There are at the moment no\nsemantic checks done, however for the `generate/` endpoint some defaulting is provided.\n\n### Compartmentalize\n\nIn order to break up an ARN into its components (or: compartmentalize), use an\nHTTP `GET` on `explode/$ARN`, for example:\n\n```sh\n$ curl -s https://arn.services/explode/arn:aws:s3:us-west-2::abucket | jq .\n{\n  \"Partition\": \"aws\",\n  \"Service\": \"s3\",\n  \"Region\": \"us-west-2\",\n  \"AccountID\": \"\",\n  \"Resource\": \"abucket\"\n}\n```\n\n### Generate\n\nTo generate a fully qualified ARN from (certain) components, use an HTTP `POST` \nto `generate/`, for example:\n\n```sh\n$ curl -s -X POST \\\n       -H \"Content-Type: application/json\" \\\n       -d '{\"Service\":\"s3\", \"Resource\":\"somebucket/someobject\"}' \\\n       https://arn.services/generate\narn:aws:s3:us-west-2::somebucket/someobject\n```\n\n## Run it yourself\n\nIf you want to run ARN services yourself, you need to:\n\n1. clone this repo (using `git clone https://github.com/mhausenblas/arn.services.git` for example)\n1. create an S3 bucket for the Lambda functions and change the value of `ARNS_BUCKET` to your own S3 bucket in the [Makefile](https://github.com/mhausenblas/arn.services/blob/master/Makefile)\n1. execute `make deploy`\n1. OPTIONALLY: set up [API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)\n   and Route 53 for a custom domain and run `make up ARNS_ACM_CERT=$ARNS_ACM_CERT` with the ARN of the ACM cert (I did email validate for my Namecheap domain).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhausenblas%2Farn.services","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmhausenblas%2Farn.services","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhausenblas%2Farn.services/lists"}