The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Paws::Pricing - Perl Interface to AWS AWS Price List Service

SYNOPSIS

  use Paws;

  my $obj = Paws->service('Pricing');
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

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:

  • https://api.pricing.us-east-1.amazonaws.com

  • https://api.pricing.ap-south-1.amazonaws.com

For the AWS API documentation, see https://docs.aws.amazon.com/account-billing/

METHODS

DescribeServices

[FormatVersion => Str]
[MaxResults => Int]
[NextToken => Str]
[ServiceCode => Str]

Each argument is described in detail in: Paws::Pricing::DescribeServices

Returns: a Paws::Pricing::DescribeServicesResponse instance

Returns the metadata for one service or a list of the metadata for all services. Use this without a service code to get the service codes for all services. Use it with a service code, such as AmazonEC2, to get information specific to that service, such as the attribute names available for that service. For example, some of the attribute names available for EC2 are volumeType, maxIopsVolume, operation, locationType, and instanceCapacity10xlarge.

GetAttributeValues

AttributeName => Str
ServiceCode => Str
[MaxResults => Int]
[NextToken => Str]

Each argument is described in detail in: Paws::Pricing::GetAttributeValues

Returns: a Paws::Pricing::GetAttributeValuesResponse instance

Returns a list of attribute values. Attibutes are similar to the details in a Price List API offer file. For a list of available attributes, see Offer File Definitions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/reading-an-offer.html#pps-defs) in the AWS Billing and Cost Management User Guide (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-what-is.html).

GetProducts

[Filters => ArrayRef[Paws::Pricing::Filter]]
[FormatVersion => Str]
[MaxResults => Int]
[NextToken => Str]
[ServiceCode => Str]

Each argument is described in detail in: Paws::Pricing::GetProducts

Returns: a Paws::Pricing::GetProductsResponse instance

Returns a list of all products that match the filter criteria.

PAGINATORS

Paginator methods are helpers that repetively call methods that return partial results

DescribeAllServices(sub { },[FormatVersion => Str, MaxResults => Int, NextToken => Str, ServiceCode => Str])

DescribeAllServices([FormatVersion => Str, MaxResults => Int, NextToken => Str, ServiceCode => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - Services, passing the object as the first parameter, and the string 'Services' as the second parameter 

If not, it will return a a Paws::Pricing::DescribeServicesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllAttributeValues(sub { },AttributeName => Str, ServiceCode => Str, [MaxResults => Int, NextToken => Str])

GetAllAttributeValues(AttributeName => Str, ServiceCode => Str, [MaxResults => Int, NextToken => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - AttributeValues, passing the object as the first parameter, and the string 'AttributeValues' as the second parameter 

If not, it will return a a Paws::Pricing::GetAttributeValuesResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

GetAllProducts(sub { },[Filters => ArrayRef[Paws::Pricing::Filter], FormatVersion => Str, MaxResults => Int, NextToken => Str, ServiceCode => Str])

GetAllProducts([Filters => ArrayRef[Paws::Pricing::Filter], FormatVersion => Str, MaxResults => Int, NextToken => Str, ServiceCode => Str])

If passed a sub as first parameter, it will call the sub for each element found in :

 - PriceList, passing the object as the first parameter, and the string 'PriceList' as the second parameter 

If not, it will return a a Paws::Pricing::GetProductsResponse instance with all the params; from all the responses. Please take into account that this mode can potentially consume vasts ammounts of memory.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues