File Coverage

blib/lib/Paws/MarketplaceMetering.pm
Criterion Covered Total %
statement 3 3 100.0
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 4 4 100.0


line stmt bran cond sub pod time code
1             package Paws::MarketplaceMetering;
2 1     1   1404 use Moose;
  1         5  
  1         13  
3             sub service { 'metering.marketplace' }
4             sub version { '2016-01-14' }
5             sub target_prefix { 'AWSMPMeteringService' }
6             sub json_version { "1.1" }
7             has max_attempts => (is => 'ro', isa => 'Int', default => 5);
8             has retry => (is => 'ro', isa => 'HashRef', default => sub {
9             { base => 'rand', type => 'exponential', growth_factor => 2 }
10             });
11             has retriables => (is => 'ro', isa => 'ArrayRef', default => sub { [
12             ] });
13              
14             with 'Paws::API::Caller', 'Paws::API::EndpointResolver', 'Paws::Net::V4Signature', 'Paws::Net::JsonCaller', 'Paws::Net::JsonResponse';
15              
16            
17             sub BatchMeterUsage {
18             my $self = shift;
19             my $call_object = $self->new_with_coercions('Paws::MarketplaceMetering::BatchMeterUsage', @_);
20             return $self->caller->do_call($self, $call_object);
21             }
22             sub MeterUsage {
23             my $self = shift;
24             my $call_object = $self->new_with_coercions('Paws::MarketplaceMetering::MeterUsage', @_);
25             return $self->caller->do_call($self, $call_object);
26             }
27             sub ResolveCustomer {
28             my $self = shift;
29             my $call_object = $self->new_with_coercions('Paws::MarketplaceMetering::ResolveCustomer', @_);
30             return $self->caller->do_call($self, $call_object);
31             }
32            
33              
34              
35             sub operations { qw/BatchMeterUsage MeterUsage ResolveCustomer / }
36              
37             1;
38              
39             ### main pod documentation begin ###
40              
41             =head1 NAME
42              
43             Paws::MarketplaceMetering - Perl Interface to AWS AWSMarketplace Metering
44              
45             =head1 SYNOPSIS
46              
47             use Paws;
48              
49             my $obj = Paws->service('MarketplaceMetering');
50             my $res = $obj->Method(
51             Arg1 => $val1,
52             Arg2 => [ 'V1', 'V2' ],
53             # if Arg3 is an object, the HashRef will be used as arguments to the constructor
54             # of the arguments type
55             Arg3 => { Att1 => 'Val1' },
56             # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
57             # the constructor of the arguments type
58             Arg4 => [ { Att1 => 'Val1' }, { Att1 => 'Val2' } ],
59             );
60              
61             =head1 DESCRIPTION
62              
63             AWS Marketplace Metering Service
64              
65             This reference provides descriptions of the low-level AWS Marketplace
66             Metering Service API.
67              
68             AWS Marketplace sellers can use this API to submit usage data for
69             custom usage dimensions.
70              
71             B<Submitting Metering Records>
72              
73             =over
74              
75             =item *
76              
77             I<MeterUsage>- Submits the metering record for a Marketplace product.
78             MeterUsage is called from an EC2 instance.
79              
80             =item *
81              
82             I<BatchMeterUsage>- Submits the metering record for a set of customers.
83             BatchMeterUsage is called from a software-as-a-service (SaaS)
84             application.
85              
86             =back
87              
88             B<Accepting New Customers>
89              
90             =over
91              
92             =item *
93              
94             I<ResolveCustomer>- Called by a SaaS application during the
95             registration process. When a buyer visits your website during the
96             registration process, the buyer submits a Registration Token through
97             the browser. The Registration Token is resolved through this API to
98             obtain a CustomerIdentifier and Product Code.
99              
100             =back
101              
102              
103             =head1 METHODS
104              
105             =head2 BatchMeterUsage(ProductCode => Str, UsageRecords => ArrayRef[L<Paws::MarketplaceMetering::UsageRecord>])
106              
107             Each argument is described in detail in: L<Paws::MarketplaceMetering::BatchMeterUsage>
108              
109             Returns: a L<Paws::MarketplaceMetering::BatchMeterUsageResult> instance
110              
111             BatchMeterUsage is called from a SaaS application listed on the AWS
112             Marketplace to post metering records for a set of customers.
113              
114             For identical requests, the API is idempotent; requests can be retried
115             with the same records or a subset of the input records.
116              
117             Every request to BatchMeterUsage is for one product. If you need to
118             meter usage for multiple products, you must make multiple calls to
119             BatchMeterUsage.
120              
121             BatchMeterUsage can process up to 25 UsageRecords at a time.
122              
123              
124             =head2 MeterUsage(DryRun => Bool, ProductCode => Str, Timestamp => Str, UsageDimension => Str, UsageQuantity => Int)
125              
126             Each argument is described in detail in: L<Paws::MarketplaceMetering::MeterUsage>
127              
128             Returns: a L<Paws::MarketplaceMetering::MeterUsageResult> instance
129              
130             API to emit metering records. For identical requests, the API is
131             idempotent. It simply returns the metering record ID.
132              
133             MeterUsage is authenticated on the buyer's AWS account, generally when
134             running from an EC2 instance on the AWS Marketplace.
135              
136              
137             =head2 ResolveCustomer(RegistrationToken => Str)
138              
139             Each argument is described in detail in: L<Paws::MarketplaceMetering::ResolveCustomer>
140              
141             Returns: a L<Paws::MarketplaceMetering::ResolveCustomerResult> instance
142              
143             ResolveCustomer is called by a SaaS application during the registration
144             process. When a buyer visits your website during the registration
145             process, the buyer submits a registration token through their browser.
146             The registration token is resolved through this API to obtain a
147             CustomerIdentifier and product code.
148              
149              
150              
151              
152             =head1 PAGINATORS
153              
154             Paginator methods are helpers that repetively call methods that return partial results
155              
156              
157              
158              
159             =head1 SEE ALSO
160              
161             This service class forms part of L<Paws>
162              
163             =head1 BUGS and CONTRIBUTIONS
164              
165             The source code is located here: https://github.com/pplu/aws-sdk-perl
166              
167             Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
168              
169             =cut
170