Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/googleinterns/terraform-cost-estimation
Cost Estimation for GCP infrastructure deployed by Terraform
https://github.com/googleinterns/terraform-cost-estimation
Last synced: 3 months ago
JSON representation
Cost Estimation for GCP infrastructure deployed by Terraform
- Host: GitHub
- URL: https://github.com/googleinterns/terraform-cost-estimation
- Owner: googleinterns
- License: apache-2.0
- Archived: true
- Created: 2020-06-24T17:28:27.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-06-05T20:41:12.000Z (over 2 years ago)
- Last Synced: 2024-06-19T02:11:06.049Z (5 months ago)
- Language: Go
- Homepage:
- Size: 14 MB
- Stars: 11
- Watchers: 4
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: docs/contributing.md
- License: LICENSE
- Code of conduct: docs/code-of-conduct.md
Awesome Lists containing this project
README
# Cost Estimation for GCP infrastructure deployed by Terraform
[![Build Status](https://travis-ci.org/googleinterns/terraform-cost-estimation.svg?branch=master)](https://travis-ci.org/googleinterns/terraform-cost-estimation)The terraform-cost-estimation project will surface a before/after cost
estimation for GCP infrastructure deployed by Terraform.**This is not an officially supported Google product.**
Display before/after cost estimation of resources from Terraform plan files in JSON format.
Resources supported:
- **google_compute_instance**Currently in production:
- **google_compute_disk**## Usage
In the command line, run:
```
$ go run main.go [OPTIONS] FILES
```
## Options
- **format**
- Write the pricing information in the specified format.
- Can be set to: txt, json, html.
- If omitted, it defaults to 'txt'.- **output**
- Write the cost estimations to the given paths.
- If set to 'stdout', all the outputs will be shown in the command line.
- Multiple output file names must be delimited by ','.
- Mixed file names and stdout values are allowed.## Examples
### Usage on command line:
```
$ go run main.go input.json
$ go run main.go -output=json input.json
$ go run main.go -format=html -output=out1.html,out2.html input1.json input2.json
```### Plain text output:
```
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ The total cost change for all Resources is 0.047500 USD/hour. │
├─────────────────────┬─────────────────────┬─────────────────────┬─────────────────────┬─────────────────────┤
│ Pricing Information │
│ (USD/h) │
├─────────────────────┬─────────────────────┬─────────────────────┬─────────────────────┬─────────────────────┤
│ Name │ ID │ Type │ Action │ Delta │
├─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┤
│ test1 │ 730331501208101640 │ n1-standard-2 │ update │ 0.047500 │
└─────────────────────┴─────────────────────┴─────────────────────┴─────────────────────┴─────────────────────┘
List of all Resources:
┌─────────────────────┬─────────────────────┬─────────────────────┬─────────────────────┬─────────────────────┐
│ Name │ test1 │
├─────────────────────┼───────────────────────────────────────────────────────────────────────────────────────┤
│ ID │ 730331501208101640 │
├─────────────────────┼───────────────────────────────────────────────────────────────────────────────────────┤
│ Zone │ us-central1-b │
├─────────────────────┼───────────────────────────────────────────────────────────────────────────────────────┤
│ Machine type │ n1-standard-1 -> │
│ │ -> n1-standard-2 │
├─────────────────────┼───────────────────────────────────────────────────────────────────────────────────────┤
│ Action │ update │
├─────────────────────┴───────────────────────────────────────────────────────────────────────────────────────┤
│ Pricing Information │
│ (USD/h) │
├───────────────────────────────────────────┬─────────────────────┬─────────────────────┬─────────────────────┤
│ │ CPU │ RAM │ Total │
├─────────────────────┬─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┤
│ Before │ Cost │ 0.031611 │ 0.004237 │ 0.047500 │
│ │ per │ │ │ │
│ │ unit │ │ │ │
│ ├─────────────────────┼─────────────────────┼─────────────────────┼ │
│ │ Number │ 1 │ 3.75 │ │
│ │ of │ │ │ │
│ │ units │ │ │ │
│ ├─────────────────────┼─────────────────────┼─────────────────────┼ │
│ │ Units │ 0.031611 │ 0.015889 │ │
│ │ cost │ │ │ │
├─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┤
│ After │ Cost │ 0.031611 │ 0.004237 │ 0.095000 │
│ │ per │ │ │ │
│ │ unit │ │ │ │
│ ├─────────────────────┼─────────────────────┼─────────────────────┼ │
│ │ Number │ 2 │ 7.50 │ │
│ │ of │ │ │ │
│ │ units │ │ │ │
│ ├─────────────────────┼─────────────────────┼─────────────────────┼ │
│ │ Units │ 0.063222 │ 0.031778 │ │
│ │ cost │ │ │ │
├─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┼─────────────────────┤
│ DELTA │ UP (↑) │ 0.031611 │ 0.01588875 │ 0.04749975 │
└─────────────────────┴─────────────────────┴─────────────────────┴─────────────────────┴─────────────────────┘
```
### Html output: