This package has been deprecated

Author message:

The package @aws-sdk/client-pricing-node has been renamed to @aws-sdk/client-pricing. Please install the renamed package.

@aws-sdk/client-pricing-node
TypeScript icon, indicating that this package has built-in type declarations

0.1.0-preview.2 • Public • Published

@aws-sdk/client-pricing-node

NPM version NPM downloads

Description

AWS Price List Service API (AWS Price List Service) is a centralized and convenient way to programmatically query Amazon Web Services for services, products, and pricing information. The AWS Price List Service uses standardized product attributes such as Location, Storage Class, and Operating System, and provides prices at the SKU level. You can use the AWS Price List Service to build cost control and scenario planning tools, reconcile billing data, forecast future spend for budgeting purposes, and provide cost benefit analysis that compare your internal workloads with AWS.

Use GetServices without a service code to retrieve the service codes for all AWS services, then GetServices with a service code to retreive the attribute names for that service. After you have the service code and attribute names, you can use GetAttributeValues to see what values are available for an attribute. With the service code and an attribute name and value, you can use GetProducts to find specific products that you're interested in, such as an AmazonEC2 instance, with a Provisioned IOPS volumeType.

Service Endpoint

AWS Price List Service API provides the following two endpoints:

Installing

To install the this package using NPM, simply type the following into a terminal window:

npm install @aws-sdk/client-pricing-node

Getting Started

Import

The AWS SDK is modulized by clients and commands in CommonJS modules. To send a request, you only need to import the client(PricingClient) and the commands you need, for example DescribeServicesCommand:

//JavaScript
const { PricingClient } = require("@aws-sdk/client-pricing-node/PricingClient");
const {
  DescribeServicesCommand
} = require("@aws-sdk/client-pricing-node/commands/DescribeServicesCommand");
//TypeScript
import { PricingClient } from "@aws-sdk/client-pricing-node/PricingClient";
import { DescribeServicesCommand } from "@aws-sdk/client-pricing-node/commands/DescribeServicesCommand";

Usage

To send a request, you:

  • Initiate client with configuration (e.g. credentials, region). For more information you can refer to the API reference.
  • Initiate command with input parameters.
  • Call send operation on client with command object as input.
  • If you are using a custom http handler, you may call destroy() to close open connections.
const pricing = new PricingClient({ region: "region" });
//clients can be shared by different commands
const params = {};
const describeServicesCommand = new DescribeServicesCommand(params);
pricing
  .send(describeServicesCommand)
  .then(data => {
    // do something
  })
  .catch(error => {
    // error handling
  });

In addition to using promises, there are 2 other ways to send a request:

// async/await
try {
  const data = await pricing.send(describeServicesCommand);
  // do something
} catch (error) {
  // error handling
}
// callback
pricing.send(describeServicesCommand, (err, data) => {
  //do something
});

The SDK can also send requests using the simplified callback style from version 2 of the SDK.

import * as AWS from "@aws-sdk/@aws-sdk/client-pricing-node/Pricing";
const pricing = new AWS.Pricing({ region: "region" });
pricing.describeServices(params, (err, data) => {
  //do something
});

Troubleshooting

When the service returns an exception, the error will include the exception information, as well as response metadata (e.g. request id).

try {
  const data = await pricing.send(describeServicesCommand);
  // do something
} catch (error) {
  const metadata = error.$metadata;
  console.log(
    `requestId: ${metadata.requestId}
cfId: ${metadata.cfId}
extendedRequestId: ${metadata.extendedRequestId}`
  );
  /*
The keys within exceptions are also parsed. You can access them by specifying exception names:
    if(error.name === 'SomeServiceException') {
        const value = error.specialKeyInException;
    }
*/
}

Getting Help

Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them.

  • Ask a question on StackOverflow and tag it with aws-sdk-js
  • Come join the AWS JavaScript community on gitter
  • If it turns out that you may have found a bug, please open an issue

Contributing

This client code is generated automatically. Any modifications will be overwritten the next time the `@aws-sdk/@aws-sdk/client-pricing-node' package is updated. To contribute to SDK you can checkout our code generator package.

License

This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.

Readme

Keywords

none

Package Sidebar

Install

npm i @aws-sdk/client-pricing-node

Weekly Downloads

1

Version

0.1.0-preview.2

License

Apache-2.0

Unpacked Size

104 kB

Total Files

152

Last publish

Collaborators

  • amzn-oss
  • aws-sdk-bot