Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/evantahler/smartdc-cost
Extensions to the Joyent Smart Datacenter API for the financially minded.
https://github.com/evantahler/smartdc-cost
Last synced: 3 months ago
JSON representation
Extensions to the Joyent Smart Datacenter API for the financially minded.
- Host: GitHub
- URL: https://github.com/evantahler/smartdc-cost
- Owner: evantahler
- Created: 2012-12-15T01:13:37.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2014-01-07T19:20:32.000Z (almost 11 years ago)
- Last Synced: 2024-10-05T20:32:45.142Z (3 months ago)
- Language: JavaScript
- Homepage:
- Size: 206 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# smartdc-cost
Extensions to the Joyent Smart Datacenter API for the financially minded.[![Nodei stats](https://nodei.co/npm/smartdc-cost.png?downloads=true)](https://npmjs.org/package/smartdc-cost)
## Install
`npm install smartdc-cost -g`## Use
`sdc-listmachines-cost`
**Options**- format: `human` or `json`
- default: json
- sort: `alphabetical` or `price`
- default: alphabetical
- period: `hour`, `day`, `month`, or `year`
- only valid if you are using the `--format=human` flag
- default: hour## Examples
*`sdc-listmachines-cost`*
```javascript
{
totals: {
hour: '0.12',
day: '3.12'
month: '82.80',
year: '1051.20'
},
devices:
[ { name: 'Host1',
ip: '123.123.123.123',
type: 'Extra Small 512 MB',
prices: {
day: '0.72',
year: '262.80',
month: '22.32',
hour: '0.03' }
},
{ name: 'Host2',
ip: '156.156.156.156',
type: 'Small 1GB',
prices: {
day: '2.04',
year: '744.60',
month: '61.20',
hour: '0.085' }
},
]
}
```*`sdc-listmachines-cost --format=human --sort=price --period=day`*
```bash
Devices:
> Host2 @ 156.156.156.156 (Small 1GB) => $2.04/day
> Host1 @ 123.123.123.123 (Extra Small 512 MB) => $0.72/dayTotal:
> $0.12/hr
> $3.12/day
> $82.80/month
> $1051.20/year
```## Notes
Prices for current images are retrived from [Joyent's public listing](http://www.joyent.com/assets/js/pricing.json). There are some packages which joyent no longer lists prices for. These prices are either coppied from earlier data, or assumed based on the most similar current package. These prices are stored in `/lib/old-prices.json`. If prices are returned from Joyent's public listing, those results will be used rather than those in `old-prices.json`
All prices are for open-source servers (smartOS, Ubuntu, etc). The prices of your induvidual machines *will* be higher than listed for licensed servers (windows, zeus, etc).
Currently, the binary package(s) assume you will be running the commands from bash, and have the following environment variables set for the normal smartdc API:
- `SDC_URL` url for the Joyent API (something like `https://us-sw-1.api.joyentcloud.com/`)
- `SDC_ACCOUNT` your joyent account name
- `SDC_KEY_ID` the fingerprint of your SSH keyIf you are upgrading from `smartdc` v6x, note the name change for the required ENV variables, and click visit https://npmjs.org/package/smartdc to learn how to generate your ssh fingerprint