1.0.0 • Published 4 months ago

billingquery v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
4 months ago

Sources

Azure AWS Google Cloud

Destinations

Bigquery

Prerequisites:

  • Nodejs version >= 20
  • Typescript

Development Guidelines

Folder structure

|__ src/services Folder that contains the api server

|__ src/cli contains your file with the commander instructions - this is the entry to your command line tool

|__ src/plugins contains your implementation and the logic source, destination Note

Before pushing this code , DO NOT miss the run command

make fmt

Before

Install module dependencies

npm install

Build Code

npm run build

Making the Command Available Globally

make cli

If got errors, please run:

sudo chown -R $USER /usr/local/lib/node_modules

Start Dev

make server

Usage

Start With APIs

Open: http://localhost:3000/

Start With Cli

cloudbilling -config config.yaml

Code Style

Check Style Code with Prettier

npm run prettier

Fix Them

npm run prettier:fix

Add a New Plugin

Please add by template code

source-name/
├── ...
├── tables/
├   ├── AbstractTable.ts
├   ├── XTable.ts
├   ├── YTable.ts
├── client.ts
├── index.ts
└── spec.json

Source Tables is Supported

Azure

Azure

TableName: azure_cost_by_tag

NAMETYPE
dateDATE
tag_keySTRING
tag_nameSTRING
costBIGNUMERIC
cloudSTRING

TableName: azure_cost_by_service

NAMETYPE
dateDATE
serviceSTRING
costBIGNUMERIC
cloudSTRING

AWS

AWS

TableName: aws_cost_by_tag

NAMETYPE
dateDATE
serviceSTRING
tag_nameSTRING
costBIGNUMERIC
cloudSTRING

TableName: aws_cost_by_service

NAMETYPE
dateDATE
serviceSTRING
costBIGNUMERIC
cloudSTRING

GCP

Google Cloud

TableName: gcp_cost_by_tag

NAMETYPE
dateDATE
tag_keySTRING
tag_nameSTRING
costBIGNUMERIC
cloudSTRING

TableName: gcp_cost_by_service

NAMETYPE
dateDATE
serviceSTRING
costBIGNUMERIC
cloudSTRING