@aws-sdk/client-marketplace-metering 3.47.2 → 3.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/README.md +32 -25
- package/dist-cjs/protocols/Aws_json1_1.js +1 -0
- package/dist-es/protocols/Aws_json1_1.js +1 -0
- package/dist-types/MarketplaceMetering.d.ts +116 -79
- package/dist-types/MarketplaceMeteringClient.d.ts +32 -26
- package/dist-types/commands/BatchMeterUsageCommand.d.ts +27 -11
- package/dist-types/commands/MeterUsageCommand.d.ts +11 -7
- package/dist-types/commands/RegisterUsageCommand.d.ts +32 -31
- package/dist-types/commands/ResolveCustomerCommand.d.ts +14 -4
- package/dist-types/models/models_0.d.ts +131 -94
- package/dist-types/ts3.4/models/models_0.d.ts +2 -0
- package/package.json +39 -33
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,41 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [3.51.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.50.0...v3.51.0) (2022-02-12)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @aws-sdk/client-marketplace-metering
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
# [3.50.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.49.0...v3.50.0) (2022-02-08)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* **clients:** update clients as of 02/04/2022 ([#3280](https://github.com/aws/aws-sdk-js-v3/issues/3280)) ([63d7f8c](https://github.com/aws/aws-sdk-js-v3/commit/63d7f8c539e0fd782fa5bf997bd6ac2730e4bfda))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
# [3.49.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.48.0...v3.49.0) (2022-01-29)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @aws-sdk/client-marketplace-metering
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
# [3.48.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.47.2...v3.48.0) (2022-01-22)
|
|
34
|
+
|
|
35
|
+
**Note:** Version bump only for package @aws-sdk/client-marketplace-metering
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
6
41
|
## [3.47.2](https://github.com/aws/aws-sdk-js-v3/compare/v3.47.1...v3.47.2) (2022-01-21)
|
|
7
42
|
|
|
8
43
|
**Note:** Version bump only for package @aws-sdk/client-marketplace-metering
|
package/README.md
CHANGED
|
@@ -9,12 +9,12 @@ AWS SDK for JavaScript MarketplaceMetering Client for Node.js, Browser and React
|
|
|
9
9
|
|
|
10
10
|
<fullname>AWS Marketplace Metering Service</fullname>
|
|
11
11
|
|
|
12
|
-
<p>This reference provides descriptions of the low-level AWS Marketplace Metering
|
|
13
|
-
|
|
12
|
+
<p>This reference provides descriptions of the low-level AWS Marketplace Metering Service
|
|
13
|
+
API.</p>
|
|
14
14
|
<p>AWS Marketplace sellers can use this API to submit usage data for custom usage
|
|
15
15
|
dimensions.</p>
|
|
16
|
-
<p>For information on the permissions you need to use this API, see
|
|
17
|
-
<
|
|
16
|
+
<p>For information on the permissions you need to use this API, see <a href="https://docs.aws.amazon.com/marketplace/latest/userguide/iam-user-policy-for-aws-marketplace-actions.html">AWS Marketplace metering and entitlement API permissions</a> in the
|
|
17
|
+
<i>AWS Marketplace Seller Guide.</i>
|
|
18
18
|
</p>
|
|
19
19
|
<p>
|
|
20
20
|
<b>Submitting Metering Records</b>
|
|
@@ -22,15 +22,15 @@ dimensions.</p>
|
|
|
22
22
|
<ul>
|
|
23
23
|
<li>
|
|
24
24
|
<p>
|
|
25
|
-
<i>MeterUsage</i
|
|
26
|
-
product. MeterUsage is called from an EC2 instance or a
|
|
27
|
-
or ECS.</p>
|
|
25
|
+
<i>MeterUsage</i> - Submits the metering record for an AWS
|
|
26
|
+
Marketplace product. <code>MeterUsage</code> is called from an EC2 instance or a
|
|
27
|
+
container running on EKS or ECS.</p>
|
|
28
28
|
</li>
|
|
29
29
|
<li>
|
|
30
30
|
<p>
|
|
31
|
-
<i>BatchMeterUsage</i
|
|
32
|
-
customers. BatchMeterUsage is called from a software-as-a-service
|
|
33
|
-
application.</p>
|
|
31
|
+
<i>BatchMeterUsage</i> - Submits the metering record for a set of
|
|
32
|
+
customers. <code>BatchMeterUsage</code> is called from a software-as-a-service
|
|
33
|
+
(SaaS) application.</p>
|
|
34
34
|
</li>
|
|
35
35
|
</ul>
|
|
36
36
|
<p>
|
|
@@ -39,11 +39,15 @@ application.</p>
|
|
|
39
39
|
<ul>
|
|
40
40
|
<li>
|
|
41
41
|
<p>
|
|
42
|
-
<i>ResolveCustomer</i
|
|
42
|
+
<i>ResolveCustomer</i> - Called by a SaaS application during the
|
|
43
43
|
registration process. When a buyer visits your website during the registration
|
|
44
44
|
process, the buyer submits a Registration Token through the browser. The
|
|
45
|
-
Registration Token is resolved through this API to obtain a
|
|
46
|
-
|
|
45
|
+
Registration Token is resolved through this API to obtain a
|
|
46
|
+
<code>CustomerIdentifier</code>
|
|
47
|
+
|
|
48
|
+
along with the <code>CustomerAWSAccountId</code> and
|
|
49
|
+
<code>ProductCode</code>.</p>
|
|
50
|
+
|
|
47
51
|
</li>
|
|
48
52
|
</ul>
|
|
49
53
|
<p>
|
|
@@ -51,20 +55,23 @@ and Product Code.</p>
|
|
|
51
55
|
</p>
|
|
52
56
|
<ul>
|
|
53
57
|
<li>
|
|
54
|
-
<p>
|
|
55
|
-
|
|
56
|
-
operation for software entitlement and metering.
|
|
57
|
-
Amazon ECS or Amazon EKS aren't required to call
|
|
58
|
-
so if you want to receive usage
|
|
59
|
-
|
|
58
|
+
<p>Paid container software products sold through AWS Marketplace must integrate
|
|
59
|
+
with the AWS Marketplace Metering Service and call the
|
|
60
|
+
<code>RegisterUsage</code> operation for software entitlement and metering.
|
|
61
|
+
Free and BYOL products for Amazon ECS or Amazon EKS aren't required to call
|
|
62
|
+
<code>RegisterUsage</code>, but you can do so if you want to receive usage
|
|
63
|
+
data in your seller reports. For more information on using the
|
|
64
|
+
<code>RegisterUsage</code> operation, see <a href="https://docs.aws.amazon.com/marketplace/latest/userguide/container-based-products.html">Container-Based Products</a>. </p>
|
|
60
65
|
</li>
|
|
61
66
|
</ul>
|
|
62
|
-
<p>
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
67
|
+
<p>
|
|
68
|
+
<code>BatchMeterUsage</code> API calls are captured by AWS CloudTrail. You can use
|
|
69
|
+
Cloudtrail to verify that the SaaS metering records that you sent are accurate by
|
|
70
|
+
searching for records with the <code>eventName</code> of <code>BatchMeterUsage</code>.
|
|
71
|
+
You can also use CloudTrail to audit records over time. For more information, see the
|
|
72
|
+
<i>
|
|
73
|
+
<a href="http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html">AWS CloudTrail User Guide</a>.</i>
|
|
74
|
+
</p>
|
|
68
75
|
|
|
69
76
|
## Installing
|
|
70
77
|
|
|
@@ -837,6 +837,7 @@ const deserializeAws_json1_1RegisterUsageResult = (output, context) => {
|
|
|
837
837
|
};
|
|
838
838
|
const deserializeAws_json1_1ResolveCustomerResult = (output, context) => {
|
|
839
839
|
return {
|
|
840
|
+
CustomerAWSAccountId: smithy_client_1.expectString(output.CustomerAWSAccountId),
|
|
840
841
|
CustomerIdentifier: smithy_client_1.expectString(output.CustomerIdentifier),
|
|
841
842
|
ProductCode: smithy_client_1.expectString(output.ProductCode),
|
|
842
843
|
};
|
|
@@ -813,6 +813,7 @@ var deserializeAws_json1_1RegisterUsageResult = function (output, context) {
|
|
|
813
813
|
};
|
|
814
814
|
var deserializeAws_json1_1ResolveCustomerResult = function (output, context) {
|
|
815
815
|
return {
|
|
816
|
+
CustomerAWSAccountId: __expectString(output.CustomerAWSAccountId),
|
|
816
817
|
CustomerIdentifier: __expectString(output.CustomerIdentifier),
|
|
817
818
|
ProductCode: __expectString(output.ProductCode),
|
|
818
819
|
};
|
|
@@ -6,28 +6,28 @@ import { ResolveCustomerCommandInput, ResolveCustomerCommandOutput } from "./com
|
|
|
6
6
|
import { MarketplaceMeteringClient } from "./MarketplaceMeteringClient";
|
|
7
7
|
/**
|
|
8
8
|
* <fullname>AWS Marketplace Metering Service</fullname>
|
|
9
|
-
* <p>This reference provides descriptions of the low-level AWS Marketplace Metering
|
|
10
|
-
*
|
|
9
|
+
* <p>This reference provides descriptions of the low-level AWS Marketplace Metering Service
|
|
10
|
+
* API.</p>
|
|
11
11
|
* <p>AWS Marketplace sellers can use this API to submit usage data for custom usage
|
|
12
12
|
* dimensions.</p>
|
|
13
|
-
* <p>For information on the permissions you need to use this API, see
|
|
14
|
-
*
|
|
15
|
-
*
|
|
13
|
+
* <p>For information on the permissions you need to use this API, see <a href="https://docs.aws.amazon.com/marketplace/latest/userguide/iam-user-policy-for-aws-marketplace-actions.html">AWS Marketplace metering and entitlement API permissions</a> in the
|
|
14
|
+
* <i>AWS Marketplace Seller Guide.</i>
|
|
15
|
+
* </p>
|
|
16
16
|
* <p>
|
|
17
17
|
* <b>Submitting Metering Records</b>
|
|
18
18
|
* </p>
|
|
19
19
|
* <ul>
|
|
20
20
|
* <li>
|
|
21
21
|
* <p>
|
|
22
|
-
* <i>MeterUsage</i
|
|
23
|
-
* product. MeterUsage is called from an EC2 instance or a
|
|
24
|
-
* or ECS.</p>
|
|
22
|
+
* <i>MeterUsage</i> - Submits the metering record for an AWS
|
|
23
|
+
* Marketplace product. <code>MeterUsage</code> is called from an EC2 instance or a
|
|
24
|
+
* container running on EKS or ECS.</p>
|
|
25
25
|
* </li>
|
|
26
26
|
* <li>
|
|
27
27
|
* <p>
|
|
28
|
-
* <i>BatchMeterUsage</i
|
|
29
|
-
* customers. BatchMeterUsage is called from a software-as-a-service
|
|
30
|
-
* application.</p>
|
|
28
|
+
* <i>BatchMeterUsage</i> - Submits the metering record for a set of
|
|
29
|
+
* customers. <code>BatchMeterUsage</code> is called from a software-as-a-service
|
|
30
|
+
* (SaaS) application.</p>
|
|
31
31
|
* </li>
|
|
32
32
|
* </ul>
|
|
33
33
|
* <p>
|
|
@@ -36,11 +36,14 @@ import { MarketplaceMeteringClient } from "./MarketplaceMeteringClient";
|
|
|
36
36
|
* <ul>
|
|
37
37
|
* <li>
|
|
38
38
|
* <p>
|
|
39
|
-
* <i>ResolveCustomer</i
|
|
39
|
+
* <i>ResolveCustomer</i> - Called by a SaaS application during the
|
|
40
40
|
* registration process. When a buyer visits your website during the registration
|
|
41
41
|
* process, the buyer submits a Registration Token through the browser. The
|
|
42
|
-
* Registration Token is resolved through this API to obtain a
|
|
43
|
-
*
|
|
42
|
+
* Registration Token is resolved through this API to obtain a
|
|
43
|
+
* <code>CustomerIdentifier</code>
|
|
44
|
+
*
|
|
45
|
+
* along with the <code>CustomerAWSAccountId</code> and
|
|
46
|
+
* <code>ProductCode</code>.</p>
|
|
44
47
|
* </li>
|
|
45
48
|
* </ul>
|
|
46
49
|
* <p>
|
|
@@ -48,88 +51,112 @@ import { MarketplaceMeteringClient } from "./MarketplaceMeteringClient";
|
|
|
48
51
|
* </p>
|
|
49
52
|
* <ul>
|
|
50
53
|
* <li>
|
|
51
|
-
* <p>
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* Amazon ECS or Amazon EKS aren't required to call
|
|
55
|
-
*
|
|
56
|
-
*
|
|
54
|
+
* <p>Paid container software products sold through AWS Marketplace must integrate
|
|
55
|
+
* with the AWS Marketplace Metering Service and call the
|
|
56
|
+
* <code>RegisterUsage</code> operation for software entitlement and metering.
|
|
57
|
+
* Free and BYOL products for Amazon ECS or Amazon EKS aren't required to call
|
|
58
|
+
* <code>RegisterUsage</code>, but you can do so if you want to receive usage
|
|
59
|
+
* data in your seller reports. For more information on using the
|
|
60
|
+
* <code>RegisterUsage</code> operation, see <a href="https://docs.aws.amazon.com/marketplace/latest/userguide/container-based-products.html">Container-Based Products</a>. </p>
|
|
57
61
|
* </li>
|
|
58
62
|
* </ul>
|
|
59
|
-
* <p>
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
63
|
+
* <p>
|
|
64
|
+
* <code>BatchMeterUsage</code> API calls are captured by AWS CloudTrail. You can use
|
|
65
|
+
* Cloudtrail to verify that the SaaS metering records that you sent are accurate by
|
|
66
|
+
* searching for records with the <code>eventName</code> of <code>BatchMeterUsage</code>.
|
|
67
|
+
* You can also use CloudTrail to audit records over time. For more information, see the
|
|
68
|
+
* <i>
|
|
69
|
+
* <a href="http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html">AWS CloudTrail User Guide</a>.</i>
|
|
70
|
+
* </p>
|
|
65
71
|
*/
|
|
66
72
|
export declare class MarketplaceMetering extends MarketplaceMeteringClient {
|
|
67
73
|
/**
|
|
68
|
-
* <p>
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
* <p>
|
|
74
|
+
* <p>
|
|
75
|
+
* <code>BatchMeterUsage</code> is called from a SaaS application listed on AWS
|
|
76
|
+
* Marketplace to post metering records for a set of customers.</p>
|
|
77
|
+
* <p>For identical requests, the API is idempotent; requests can be retried with the same
|
|
78
|
+
* records or a subset of the input records.</p>
|
|
79
|
+
* <p>Every request to <code>BatchMeterUsage</code> is for one product. If you need to meter
|
|
80
|
+
* usage for multiple products, you must make multiple calls to
|
|
81
|
+
* <code>BatchMeterUsage</code>.</p>
|
|
82
|
+
* <p>Usage records are expected to be submitted as quickly as possible after the event that
|
|
83
|
+
* is being recorded, and are not accepted more than 6 hours after the event.</p>
|
|
84
|
+
* <p>
|
|
85
|
+
* <code>BatchMeterUsage</code> can process up to 25 <code>UsageRecords</code> at a
|
|
86
|
+
* time.</p>
|
|
87
|
+
* <p>A <code>UsageRecord</code> can optionally include multiple usage allocations, to
|
|
88
|
+
* provide customers with usage data split into buckets by tags that you define (or allow
|
|
89
|
+
* the customer to define).</p>
|
|
90
|
+
* <p>
|
|
91
|
+
* <code>BatchMeterUsage</code> returns a list of <code>UsageRecordResult</code> objects,
|
|
92
|
+
* showing the result for each <code>UsageRecord</code>, as well as a list of
|
|
93
|
+
* <code>UnprocessedRecords</code>, indicating errors in the service side that you
|
|
94
|
+
* should retry.</p>
|
|
95
|
+
* <p>
|
|
96
|
+
* <code>BatchMeterUsage</code> requests must be less than 1MB in size.</p>
|
|
97
|
+
* <note>
|
|
98
|
+
* <p>For an example of using <code>BatchMeterUsage</code>, see <a href="https://docs.aws.amazon.com/marketplace/latest/userguide/saas-code-examples.html#saas-batchmeterusage-example"> BatchMeterUsage code example</a> in the <i>AWS Marketplace Seller
|
|
99
|
+
* Guide</i>.</p>
|
|
100
|
+
* </note>
|
|
79
101
|
*/
|
|
80
102
|
batchMeterUsage(args: BatchMeterUsageCommandInput, options?: __HttpHandlerOptions): Promise<BatchMeterUsageCommandOutput>;
|
|
81
103
|
batchMeterUsage(args: BatchMeterUsageCommandInput, cb: (err: any, data?: BatchMeterUsageCommandOutput) => void): void;
|
|
82
104
|
batchMeterUsage(args: BatchMeterUsageCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: BatchMeterUsageCommandOutput) => void): void;
|
|
83
105
|
/**
|
|
84
|
-
* <p>API to emit metering records. For identical requests, the API is idempotent. It
|
|
85
|
-
*
|
|
86
|
-
* <p>
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
106
|
+
* <p>API to emit metering records. For identical requests, the API is idempotent. It simply
|
|
107
|
+
* returns the metering record ID.</p>
|
|
108
|
+
* <p>
|
|
109
|
+
* <code>MeterUsage</code> is authenticated on the buyer's AWS account using credentials
|
|
110
|
+
* from the EC2 instance, ECS task, or EKS pod.</p>
|
|
111
|
+
* <p>
|
|
112
|
+
* <code>MeterUsage</code> can optionally include multiple usage allocations, to provide
|
|
113
|
+
* customers with usage data split into buckets by tags that you define (or allow the
|
|
114
|
+
* customer to define).</p>
|
|
115
|
+
* <p>Usage records are expected to be submitted as quickly as possible after the event that
|
|
116
|
+
* is being recorded, and are not accepted more than 6 hours after the event.</p>
|
|
91
117
|
*/
|
|
92
118
|
meterUsage(args: MeterUsageCommandInput, options?: __HttpHandlerOptions): Promise<MeterUsageCommandOutput>;
|
|
93
119
|
meterUsage(args: MeterUsageCommandInput, cb: (err: any, data?: MeterUsageCommandOutput) => void): void;
|
|
94
120
|
meterUsage(args: MeterUsageCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: MeterUsageCommandOutput) => void): void;
|
|
95
121
|
/**
|
|
96
|
-
* <p>Paid container software products sold through AWS Marketplace must integrate with
|
|
97
|
-
*
|
|
98
|
-
* entitlement and metering. Free and BYOL products for Amazon ECS or Amazon EKS
|
|
99
|
-
* required to call RegisterUsage
|
|
100
|
-
* usage data in your seller reports. The sections below explain the
|
|
101
|
-
* RegisterUsage
|
|
102
|
-
* entitlement.</p>
|
|
103
|
-
*
|
|
122
|
+
* <p>Paid container software products sold through AWS Marketplace must integrate with the
|
|
123
|
+
* AWS Marketplace Metering Service and call the <code>RegisterUsage</code> operation for
|
|
124
|
+
* software entitlement and metering. Free and BYOL products for Amazon ECS or Amazon EKS
|
|
125
|
+
* aren't required to call <code>RegisterUsage</code>, but you may choose to do so if you
|
|
126
|
+
* would like to receive usage data in your seller reports. The sections below explain the
|
|
127
|
+
* behavior of <code>RegisterUsage</code>. <code>RegisterUsage</code> performs two primary
|
|
128
|
+
* functions: metering and entitlement.</p>
|
|
104
129
|
* <ul>
|
|
105
130
|
* <li>
|
|
106
131
|
* <p>
|
|
107
|
-
* <i>Entitlement</i>: RegisterUsage allows you to
|
|
108
|
-
* customer running your paid software is subscribed to your
|
|
109
|
-
* Marketplace, enabling you to guard against unauthorized use. Your
|
|
110
|
-
* image that integrates with RegisterUsage is only required
|
|
111
|
-
* unauthorized use at container startup, as such a
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
132
|
+
* <i>Entitlement</i>: <code>RegisterUsage</code> allows you to
|
|
133
|
+
* verify that the customer running your paid software is subscribed to your
|
|
134
|
+
* product on AWS Marketplace, enabling you to guard against unauthorized use. Your
|
|
135
|
+
* container image that integrates with <code>RegisterUsage</code> is only required
|
|
136
|
+
* to guard against unauthorized use at container startup, as such a
|
|
137
|
+
* <code>CustomerNotSubscribedException</code> or
|
|
138
|
+
* <code>PlatformNotSupportedException</code> will only be thrown on the
|
|
139
|
+
* initial call to <code>RegisterUsage</code>. Subsequent calls from the same
|
|
140
|
+
* Amazon ECS task instance (e.g. task-id) or Amazon EKS pod will not throw a
|
|
141
|
+
* <code>CustomerNotSubscribedException</code>, even if the customer
|
|
142
|
+
* unsubscribes while the Amazon ECS task or Amazon EKS pod is still
|
|
143
|
+
* running.</p>
|
|
117
144
|
* </li>
|
|
118
145
|
* <li>
|
|
119
146
|
* <p>
|
|
120
|
-
* <i>Metering</i>: RegisterUsage meters software use
|
|
121
|
-
* per hour, or per pod for Amazon EKS with usage prorated to the
|
|
122
|
-
* of 1 minute of usage applies to tasks that are short lived.
|
|
123
|
-
* customer has a 10 node Amazon ECS or Amazon EKS cluster and a
|
|
124
|
-
* as a Daemon Set, then Amazon ECS or Amazon EKS will launch a
|
|
125
|
-
* cluster nodes and the customer will be charged: (10 *
|
|
126
|
-
* software use is automatically handled by the AWS
|
|
127
|
-
* Plane -- your software is not required to perform
|
|
128
|
-
* other than call RegisterUsage once
|
|
129
|
-
*
|
|
130
|
-
* running ECS tasks and Amazon EKS
|
|
131
|
-
* state, removing the need for your
|
|
132
|
-
* runtime.</p>
|
|
147
|
+
* <i>Metering</i>: <code>RegisterUsage</code> meters software use
|
|
148
|
+
* per ECS task, per hour, or per pod for Amazon EKS with usage prorated to the
|
|
149
|
+
* second. A minimum of 1 minute of usage applies to tasks that are short lived.
|
|
150
|
+
* For example, if a customer has a 10 node Amazon ECS or Amazon EKS cluster and a
|
|
151
|
+
* service configured as a Daemon Set, then Amazon ECS or Amazon EKS will launch a
|
|
152
|
+
* task on all 10 cluster nodes and the customer will be charged: (10 *
|
|
153
|
+
* hourly_rate). Metering for software use is automatically handled by the AWS
|
|
154
|
+
* Marketplace Metering Control Plane -- your software is not required to perform
|
|
155
|
+
* any metering specific actions, other than call <code>RegisterUsage</code> once
|
|
156
|
+
* for metering of software use to commence. The AWS Marketplace Metering Control
|
|
157
|
+
* Plane will also continue to bill customers for running ECS tasks and Amazon EKS
|
|
158
|
+
* pods, regardless of the customers subscription state, removing the need for your
|
|
159
|
+
* software to perform entitlement checks at runtime.</p>
|
|
133
160
|
* </li>
|
|
134
161
|
* </ul>
|
|
135
162
|
*/
|
|
@@ -137,10 +164,20 @@ export declare class MarketplaceMetering extends MarketplaceMeteringClient {
|
|
|
137
164
|
registerUsage(args: RegisterUsageCommandInput, cb: (err: any, data?: RegisterUsageCommandOutput) => void): void;
|
|
138
165
|
registerUsage(args: RegisterUsageCommandInput, options: __HttpHandlerOptions, cb: (err: any, data?: RegisterUsageCommandOutput) => void): void;
|
|
139
166
|
/**
|
|
140
|
-
* <p>
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
167
|
+
* <p>
|
|
168
|
+
* <code>ResolveCustomer</code> is called by a SaaS application during the registration
|
|
169
|
+
* process. When a buyer visits your website during the registration process, the buyer
|
|
170
|
+
* submits a registration token through their browser. The registration token is resolved
|
|
171
|
+
* through this API to obtain a <code>CustomerIdentifier</code>
|
|
172
|
+
* along with the
|
|
173
|
+
* <code>CustomerAWSAccountId</code> and
|
|
174
|
+
* <code>ProductCode</code>.</p>
|
|
175
|
+
* <note>
|
|
176
|
+
* <p>The API needs to called from the seller account id used to publish the SaaS
|
|
177
|
+
* application to successfully resolve the token.</p>
|
|
178
|
+
* <p>For an example of using <code>ResolveCustomer</code>, see <a href="https://docs.aws.amazon.com/marketplace/latest/userguide/saas-code-examples.html#saas-resolvecustomer-example"> ResolveCustomer code example</a> in the <i>AWS Marketplace Seller
|
|
179
|
+
* Guide</i>.</p>
|
|
180
|
+
* </note>
|
|
144
181
|
*/
|
|
145
182
|
resolveCustomer(args: ResolveCustomerCommandInput, options?: __HttpHandlerOptions): Promise<ResolveCustomerCommandOutput>;
|
|
146
183
|
resolveCustomer(args: ResolveCustomerCommandInput, cb: (err: any, data?: ResolveCustomerCommandOutput) => void): void;
|
|
@@ -131,28 +131,28 @@ export interface MarketplaceMeteringClientResolvedConfig extends MarketplaceMete
|
|
|
131
131
|
}
|
|
132
132
|
/**
|
|
133
133
|
* <fullname>AWS Marketplace Metering Service</fullname>
|
|
134
|
-
* <p>This reference provides descriptions of the low-level AWS Marketplace Metering
|
|
135
|
-
*
|
|
134
|
+
* <p>This reference provides descriptions of the low-level AWS Marketplace Metering Service
|
|
135
|
+
* API.</p>
|
|
136
136
|
* <p>AWS Marketplace sellers can use this API to submit usage data for custom usage
|
|
137
137
|
* dimensions.</p>
|
|
138
|
-
* <p>For information on the permissions you need to use this API, see
|
|
139
|
-
*
|
|
140
|
-
*
|
|
138
|
+
* <p>For information on the permissions you need to use this API, see <a href="https://docs.aws.amazon.com/marketplace/latest/userguide/iam-user-policy-for-aws-marketplace-actions.html">AWS Marketplace metering and entitlement API permissions</a> in the
|
|
139
|
+
* <i>AWS Marketplace Seller Guide.</i>
|
|
140
|
+
* </p>
|
|
141
141
|
* <p>
|
|
142
142
|
* <b>Submitting Metering Records</b>
|
|
143
143
|
* </p>
|
|
144
144
|
* <ul>
|
|
145
145
|
* <li>
|
|
146
146
|
* <p>
|
|
147
|
-
* <i>MeterUsage</i
|
|
148
|
-
* product. MeterUsage is called from an EC2 instance or a
|
|
149
|
-
* or ECS.</p>
|
|
147
|
+
* <i>MeterUsage</i> - Submits the metering record for an AWS
|
|
148
|
+
* Marketplace product. <code>MeterUsage</code> is called from an EC2 instance or a
|
|
149
|
+
* container running on EKS or ECS.</p>
|
|
150
150
|
* </li>
|
|
151
151
|
* <li>
|
|
152
152
|
* <p>
|
|
153
|
-
* <i>BatchMeterUsage</i
|
|
154
|
-
* customers. BatchMeterUsage is called from a software-as-a-service
|
|
155
|
-
* application.</p>
|
|
153
|
+
* <i>BatchMeterUsage</i> - Submits the metering record for a set of
|
|
154
|
+
* customers. <code>BatchMeterUsage</code> is called from a software-as-a-service
|
|
155
|
+
* (SaaS) application.</p>
|
|
156
156
|
* </li>
|
|
157
157
|
* </ul>
|
|
158
158
|
* <p>
|
|
@@ -161,11 +161,14 @@ export interface MarketplaceMeteringClientResolvedConfig extends MarketplaceMete
|
|
|
161
161
|
* <ul>
|
|
162
162
|
* <li>
|
|
163
163
|
* <p>
|
|
164
|
-
* <i>ResolveCustomer</i
|
|
164
|
+
* <i>ResolveCustomer</i> - Called by a SaaS application during the
|
|
165
165
|
* registration process. When a buyer visits your website during the registration
|
|
166
166
|
* process, the buyer submits a Registration Token through the browser. The
|
|
167
|
-
* Registration Token is resolved through this API to obtain a
|
|
168
|
-
*
|
|
167
|
+
* Registration Token is resolved through this API to obtain a
|
|
168
|
+
* <code>CustomerIdentifier</code>
|
|
169
|
+
*
|
|
170
|
+
* along with the <code>CustomerAWSAccountId</code> and
|
|
171
|
+
* <code>ProductCode</code>.</p>
|
|
169
172
|
* </li>
|
|
170
173
|
* </ul>
|
|
171
174
|
* <p>
|
|
@@ -173,20 +176,23 @@ export interface MarketplaceMeteringClientResolvedConfig extends MarketplaceMete
|
|
|
173
176
|
* </p>
|
|
174
177
|
* <ul>
|
|
175
178
|
* <li>
|
|
176
|
-
* <p>
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
* Amazon ECS or Amazon EKS aren't required to call
|
|
180
|
-
*
|
|
181
|
-
*
|
|
179
|
+
* <p>Paid container software products sold through AWS Marketplace must integrate
|
|
180
|
+
* with the AWS Marketplace Metering Service and call the
|
|
181
|
+
* <code>RegisterUsage</code> operation for software entitlement and metering.
|
|
182
|
+
* Free and BYOL products for Amazon ECS or Amazon EKS aren't required to call
|
|
183
|
+
* <code>RegisterUsage</code>, but you can do so if you want to receive usage
|
|
184
|
+
* data in your seller reports. For more information on using the
|
|
185
|
+
* <code>RegisterUsage</code> operation, see <a href="https://docs.aws.amazon.com/marketplace/latest/userguide/container-based-products.html">Container-Based Products</a>. </p>
|
|
182
186
|
* </li>
|
|
183
187
|
* </ul>
|
|
184
|
-
* <p>
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
189
|
-
*
|
|
188
|
+
* <p>
|
|
189
|
+
* <code>BatchMeterUsage</code> API calls are captured by AWS CloudTrail. You can use
|
|
190
|
+
* Cloudtrail to verify that the SaaS metering records that you sent are accurate by
|
|
191
|
+
* searching for records with the <code>eventName</code> of <code>BatchMeterUsage</code>.
|
|
192
|
+
* You can also use CloudTrail to audit records over time. For more information, see the
|
|
193
|
+
* <i>
|
|
194
|
+
* <a href="http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html">AWS CloudTrail User Guide</a>.</i>
|
|
195
|
+
* </p>
|
|
190
196
|
*/
|
|
191
197
|
export declare class MarketplaceMeteringClient extends __Client<__HttpHandlerOptions, ServiceInputTypes, ServiceOutputTypes, MarketplaceMeteringClientResolvedConfig> {
|
|
192
198
|
/**
|
|
@@ -7,17 +7,33 @@ export interface BatchMeterUsageCommandInput extends BatchMeterUsageRequest {
|
|
|
7
7
|
export interface BatchMeterUsageCommandOutput extends BatchMeterUsageResult, __MetadataBearer {
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* <p>
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* <p>
|
|
10
|
+
* <p>
|
|
11
|
+
* <code>BatchMeterUsage</code> is called from a SaaS application listed on AWS
|
|
12
|
+
* Marketplace to post metering records for a set of customers.</p>
|
|
13
|
+
* <p>For identical requests, the API is idempotent; requests can be retried with the same
|
|
14
|
+
* records or a subset of the input records.</p>
|
|
15
|
+
* <p>Every request to <code>BatchMeterUsage</code> is for one product. If you need to meter
|
|
16
|
+
* usage for multiple products, you must make multiple calls to
|
|
17
|
+
* <code>BatchMeterUsage</code>.</p>
|
|
18
|
+
* <p>Usage records are expected to be submitted as quickly as possible after the event that
|
|
19
|
+
* is being recorded, and are not accepted more than 6 hours after the event.</p>
|
|
20
|
+
* <p>
|
|
21
|
+
* <code>BatchMeterUsage</code> can process up to 25 <code>UsageRecords</code> at a
|
|
22
|
+
* time.</p>
|
|
23
|
+
* <p>A <code>UsageRecord</code> can optionally include multiple usage allocations, to
|
|
24
|
+
* provide customers with usage data split into buckets by tags that you define (or allow
|
|
25
|
+
* the customer to define).</p>
|
|
26
|
+
* <p>
|
|
27
|
+
* <code>BatchMeterUsage</code> returns a list of <code>UsageRecordResult</code> objects,
|
|
28
|
+
* showing the result for each <code>UsageRecord</code>, as well as a list of
|
|
29
|
+
* <code>UnprocessedRecords</code>, indicating errors in the service side that you
|
|
30
|
+
* should retry.</p>
|
|
31
|
+
* <p>
|
|
32
|
+
* <code>BatchMeterUsage</code> requests must be less than 1MB in size.</p>
|
|
33
|
+
* <note>
|
|
34
|
+
* <p>For an example of using <code>BatchMeterUsage</code>, see <a href="https://docs.aws.amazon.com/marketplace/latest/userguide/saas-code-examples.html#saas-batchmeterusage-example"> BatchMeterUsage code example</a> in the <i>AWS Marketplace Seller
|
|
35
|
+
* Guide</i>.</p>
|
|
36
|
+
* </note>
|
|
21
37
|
* @example
|
|
22
38
|
* Use a bare-bones client and the command you need to make an API call.
|
|
23
39
|
* ```javascript
|
|
@@ -7,13 +7,17 @@ export interface MeterUsageCommandInput extends MeterUsageRequest {
|
|
|
7
7
|
export interface MeterUsageCommandOutput extends MeterUsageResult, __MetadataBearer {
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
|
-
* <p>API to emit metering records. For identical requests, the API is idempotent. It
|
|
11
|
-
*
|
|
12
|
-
* <p>
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
10
|
+
* <p>API to emit metering records. For identical requests, the API is idempotent. It simply
|
|
11
|
+
* returns the metering record ID.</p>
|
|
12
|
+
* <p>
|
|
13
|
+
* <code>MeterUsage</code> is authenticated on the buyer's AWS account using credentials
|
|
14
|
+
* from the EC2 instance, ECS task, or EKS pod.</p>
|
|
15
|
+
* <p>
|
|
16
|
+
* <code>MeterUsage</code> can optionally include multiple usage allocations, to provide
|
|
17
|
+
* customers with usage data split into buckets by tags that you define (or allow the
|
|
18
|
+
* customer to define).</p>
|
|
19
|
+
* <p>Usage records are expected to be submitted as quickly as possible after the event that
|
|
20
|
+
* is being recorded, and are not accepted more than 6 hours after the event.</p>
|
|
17
21
|
* @example
|
|
18
22
|
* Use a bare-bones client and the command you need to make an API call.
|
|
19
23
|
* ```javascript
|