Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iann0036/aws-bill-export
Download AWS bills from the console programmatically.
https://github.com/iann0036/aws-bill-export
aws aws-billing
Last synced: 3 months ago
JSON representation
Download AWS bills from the console programmatically.
- Host: GitHub
- URL: https://github.com/iann0036/aws-bill-export
- Owner: iann0036
- License: mit
- Created: 2020-04-19T00:22:48.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-07-13T09:54:15.000Z (over 1 year ago)
- Last Synced: 2024-11-02T02:23:12.216Z (3 months ago)
- Topics: aws, aws-billing
- Language: JavaScript
- Homepage:
- Size: 167 KB
- Stars: 59
- Watchers: 5
- Forks: 13
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AWS Bill Export
> ["something monstrous"](https://twitter.com/QuinnyPig/status/1251572159434027008)
Downloads AWS bills from the console programmatically.
## Installation
[![Launch Stack](https://cdn.rawgit.com/buildkite/cloudformation-launch-stack-button-svg/master/launch-stack.svg)](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?stackName=billretriever&templateURL=https://s3.amazonaws.com/ianmckay-us-east-1/billretriever/template.yml)
Click the above link to deploy the stack to your environment.
If you prefer, you can also manually upsert the [template.yml](https://github.com/iann0036/aws-bill-export/blob/master/template.yml) stack from source.
Currently, the only tested region is `us-east-1`.
## Usage
The stack outputs a base URL you can use to make calls. The following calls can be made:
**Show complete bill contents**
```
https:///completebill.json?month=3&year=2020
```**Show the invoice list**
```
https:///invoicelist.json?month=3&year=2020
```**Show linked account bills**
```
https:///linkedaccountbillsummary.json?month=3&year=2020
```**Generate and download an invoice**
```
https:///generate.json?invoiceNumber=12345&invoiceGroupId=12345"
https:///download.pdf?invoiceNumber=12345&invoiceGroupId=12345"
```## Notes
- Authentication and/or authorization is anonymous by default, and a basic IAM authentication/authorization is available via the `AuthorizationType` . Configuring this to match your environment is left as an exercise for you.
- You have to keep puppeteer-core and @sparticuz/chromium in sync if you update packages. See the [sparticuz/chromium readme](https://github.com/sparticuz/chromium) for instructions.