npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

azcosts

v1.0.1

Published

Azcosts is a CLI tool for generating Azure infrastructure cost reports

Downloads

8

Readme

azcosts

Build Status Dependency Status npm version License

Azcosts is a CLI tool built with Node.js for generating Azure infrastructure cost reports, This tool is built on top of the Azure Resource Usage API and the Azure Resource RateCard API.

Known limitations:

In Azure there are EA offers that have customized rates per enrollment, we are unable to provide the EA rates at this time because the Azure API do not provide them:

Support for Pay-as-you-go, MSDN, Monetary commitment, and Monetary credit offers (EA not supported) - This API provides Azure offer-level rate information, vs. subscription-level. The caller of this API must pass in the offer information to get resource details and rates. As EA offers have customized rates per enrollment, we are unable to provide the EA rates at this time.

Installation

Just install it via NPM (Node.js is required):

npm install -g azcosts

Usage

After installation the azcosts CLI tool will be available to you. It is the entrypoint for all the functionality mentioned above.

You can call azcosts <command> --help to find out more about all of the following commands.

Create a new project

azcosts init --config /path/to/azcosts.json

This will start a wizard that will create (or override) the configuration file where the credentials and the settings for your subscrition are saved.

If you don't use the --config option it will create the azcosts.json file in the directory where you are running the command.

This step is not needed if you are going to use environment variables instead of the config file.

Get costs

azcosts get -s 2017-01-01 -e 2017-01-31 --config /path/to/azcosts.json
# This will generate the ./azcosts.csv report file

This will generate a cost report using the credentials and the information of the config file. For now, the only output choice is a CSV file. Further ouput formats are planned for the future.

Options

  • -s or --startDate (required): Sets the report start date. Format YYYY-MM-DD
  • -e or --endDate (required): Sets the report end date. Format YYYY-MM-DD
  • -o or --output: Sets the report output formats (comma separated list). Default: csv. (Only CSV allowed for now).
  • -c or --config: Set config file path. Defaults to ./azcosts.json

Configuration options

You need to provide your Azure Subscription data in order to allow Azcosts to get the usage.

  • Follow this link to know how to create your credentials.
  • The Offer ID can be get from the subscription information in the Azure Portal. The format of the offer ID is MS-AZR-XXXXX, where XXXXX is your offer Number. A list of offer numbers can be found here.
  • The Region needs to be a 2 letter code. Get more info:
  • The Locale option should follow the language-culture format. Get more info:

There are two ways for setting the credentials and the rate information:

Configuration file

You can create a configuration file with the azcosts init command or by hand. The format should be:

{
    "AZCOSTS_SUBSCRIPTION_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "AZCOSTS_CLIENT_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "AZCOSTS_CLIENT_SECRET": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "AZCOSTS_TENANT_ID": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "AZCOSTS_OFFER_ID": "MS-AZR-0000X",
    "AZCOSTS_REGION": "GB",
    "AZCOSTS_LOCALE": "en-GB",
    "AZCOSTS_CURRENCY": "GBP"
}

Environment variables

You can create environments variables instead of a configuration file.

export AZCOSTS_SUBSCRIPTION_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export AZCOSTS_CLIENT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export AZCOSTS_CLIENT_SECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
export AZCOSTS_TENANT_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export AZCOSTS_OFFER_ID=MS-AZR-0000X
export AZCOSTS_REGION=GB
export AZCOSTS_LOCALE=en-GB
export AZCOSTS_CURRENCY=GBP

Reporting an issue or a feature request and contributing

See the contributing guide.

Maintainers

See also the list of contributors who participated in this project.

License

Azcosts. A CLI tool for generating Azure infrastructure cost reports.

Copyright (C) 2017 Alberto Varela [email protected]

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.