Skip to content

Commit 2e5ff88

Browse files
author
awstools
committed
feat(client-marketplace-agreement): This release supports 1/multi-product transactions via offer sets. DescribeAgreement and SearchAgreements APIs now return offer set IDs. SearchAgreements also supports filtering by offer set ID and 2/variable payment pricing terms will be returned through GetAgreementTerms.
1 parent e076225 commit 2e5ff88

File tree

11 files changed

+342
-535
lines changed

11 files changed

+342
-535
lines changed

clients/client-marketplace-agreement/README.md

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,7 @@
66

77
AWS SDK for JavaScript MarketplaceAgreement Client for Node.js, Browser and React Native.
88

9-
<p>AWS Marketplace is a curated digital catalog that customers can use to find, buy, deploy, and manage third-party software, data, and services to build solutions and run their businesses. The AWS Marketplace Agreement Service provides an API interface that helps AWS Marketplace sellers manage their product-related agreements, including listing, searching, and filtering agreements.</p>
10-
<p>To manage agreements in AWS Marketplace, you must ensure that your AWS Identity and
11-
Access Management (IAM) policies and roles are set up. The user must have the required
12-
policies/permissions that allow them to carry out the actions in AWS:</p>
13-
<ul>
14-
<li>
15-
<p>
16-
<code>DescribeAgreement</code> – Grants permission to users to obtain detailed
17-
meta data about any of their agreements.</p>
18-
</li>
19-
<li>
20-
<p>
21-
<code>GetAgreementTerms</code> – Grants permission to users to obtain details
22-
about the terms of an agreement.</p>
23-
</li>
24-
<li>
25-
<p>
26-
<code>SearchAgreements</code> – Grants permission to users to search through all
27-
their agreements.</p>
28-
</li>
29-
</ul>
9+
<p>AWS Marketplace is a curated digital catalog that customers can use to find, buy, deploy, and manage third-party software, data, and services to build solutions and run their businesses. The AWS Marketplace Agreement Service provides an API interface that helps AWS Marketplace sellers manage their product-related agreements, including listing, searching, and filtering agreements.</p> <p>To manage agreements in AWS Marketplace, you must ensure that your AWS Identity and Access Management (IAM) policies and roles are set up. The user must have the required policies/permissions that allow them to carry out the actions in AWS:</p> <ul> <li> <p> <code>DescribeAgreement</code> – Grants permission to users to obtain detailed meta data about any of their agreements.</p> </li> <li> <p> <code>GetAgreementTerms</code> – Grants permission to users to obtain details about the terms of an agreement.</p> </li> <li> <p> <code>SearchAgreements</code> – Grants permission to users to search through all their agreements.</p> </li> </ul>
3010

3111
## Installing
3212

clients/client-marketplace-agreement/src/MarketplaceAgreement.ts

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -80,27 +80,7 @@ export interface MarketplaceAgreement {
8080
}
8181

8282
/**
83-
* <p>AWS Marketplace is a curated digital catalog that customers can use to find, buy, deploy, and manage third-party software, data, and services to build solutions and run their businesses. The AWS Marketplace Agreement Service provides an API interface that helps AWS Marketplace sellers manage their product-related agreements, including listing, searching, and filtering agreements.</p>
84-
* <p>To manage agreements in AWS Marketplace, you must ensure that your AWS Identity and
85-
* Access Management (IAM) policies and roles are set up. The user must have the required
86-
* policies/permissions that allow them to carry out the actions in AWS:</p>
87-
* <ul>
88-
* <li>
89-
* <p>
90-
* <code>DescribeAgreement</code> – Grants permission to users to obtain detailed
91-
* meta data about any of their agreements.</p>
92-
* </li>
93-
* <li>
94-
* <p>
95-
* <code>GetAgreementTerms</code> – Grants permission to users to obtain details
96-
* about the terms of an agreement.</p>
97-
* </li>
98-
* <li>
99-
* <p>
100-
* <code>SearchAgreements</code> – Grants permission to users to search through all
101-
* their agreements.</p>
102-
* </li>
103-
* </ul>
83+
* <p>AWS Marketplace is a curated digital catalog that customers can use to find, buy, deploy, and manage third-party software, data, and services to build solutions and run their businesses. The AWS Marketplace Agreement Service provides an API interface that helps AWS Marketplace sellers manage their product-related agreements, including listing, searching, and filtering agreements.</p> <p>To manage agreements in AWS Marketplace, you must ensure that your AWS Identity and Access Management (IAM) policies and roles are set up. The user must have the required policies/permissions that allow them to carry out the actions in AWS:</p> <ul> <li> <p> <code>DescribeAgreement</code> – Grants permission to users to obtain detailed meta data about any of their agreements.</p> </li> <li> <p> <code>GetAgreementTerms</code> – Grants permission to users to obtain details about the terms of an agreement.</p> </li> <li> <p> <code>SearchAgreements</code> – Grants permission to users to search through all their agreements.</p> </li> </ul>
10484
* @public
10585
*/
10686
export class MarketplaceAgreement extends MarketplaceAgreementClient implements MarketplaceAgreement {}

clients/client-marketplace-agreement/src/MarketplaceAgreementClient.ts

Lines changed: 1 addition & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -288,27 +288,7 @@ export type MarketplaceAgreementClientResolvedConfigType = __SmithyResolvedConfi
288288
export interface MarketplaceAgreementClientResolvedConfig extends MarketplaceAgreementClientResolvedConfigType {}
289289

290290
/**
291-
* <p>AWS Marketplace is a curated digital catalog that customers can use to find, buy, deploy, and manage third-party software, data, and services to build solutions and run their businesses. The AWS Marketplace Agreement Service provides an API interface that helps AWS Marketplace sellers manage their product-related agreements, including listing, searching, and filtering agreements.</p>
292-
* <p>To manage agreements in AWS Marketplace, you must ensure that your AWS Identity and
293-
* Access Management (IAM) policies and roles are set up. The user must have the required
294-
* policies/permissions that allow them to carry out the actions in AWS:</p>
295-
* <ul>
296-
* <li>
297-
* <p>
298-
* <code>DescribeAgreement</code> – Grants permission to users to obtain detailed
299-
* meta data about any of their agreements.</p>
300-
* </li>
301-
* <li>
302-
* <p>
303-
* <code>GetAgreementTerms</code> – Grants permission to users to obtain details
304-
* about the terms of an agreement.</p>
305-
* </li>
306-
* <li>
307-
* <p>
308-
* <code>SearchAgreements</code> – Grants permission to users to search through all
309-
* their agreements.</p>
310-
* </li>
311-
* </ul>
291+
* <p>AWS Marketplace is a curated digital catalog that customers can use to find, buy, deploy, and manage third-party software, data, and services to build solutions and run their businesses. The AWS Marketplace Agreement Service provides an API interface that helps AWS Marketplace sellers manage their product-related agreements, including listing, searching, and filtering agreements.</p> <p>To manage agreements in AWS Marketplace, you must ensure that your AWS Identity and Access Management (IAM) policies and roles are set up. The user must have the required policies/permissions that allow them to carry out the actions in AWS:</p> <ul> <li> <p> <code>DescribeAgreement</code> – Grants permission to users to obtain detailed meta data about any of their agreements.</p> </li> <li> <p> <code>GetAgreementTerms</code> – Grants permission to users to obtain details about the terms of an agreement.</p> </li> <li> <p> <code>SearchAgreements</code> – Grants permission to users to search through all their agreements.</p> </li> </ul>
312292
* @public
313293
*/
314294
export class MarketplaceAgreementClient extends __Client<

clients/client-marketplace-agreement/src/commands/DescribeAgreementCommand.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ export interface DescribeAgreementCommandOutput extends DescribeAgreementOutput,
6969
* // },
7070
* // ],
7171
* // offerId: "STRING_VALUE",
72+
* // offerSetId: "STRING_VALUE",
7273
* // },
7374
* // status: "ACTIVE" || "ARCHIVED" || "CANCELLED" || "EXPIRED" || "RENEWED" || "REPLACED" || "ROLLED_BACK" || "SUPERSEDED" || "TERMINATED",
7475
* // };

clients/client-marketplace-agreement/src/commands/GetAgreementTermsCommand.ts

Lines changed: 10 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -31,36 +31,7 @@ export interface GetAgreementTermsCommandInput extends GetAgreementTermsInput {}
3131
export interface GetAgreementTermsCommandOutput extends GetAgreementTermsOutput, __MetadataBearer {}
3232

3333
/**
34-
* <p>Obtains details about the terms in an agreement that you participated in as proposer or
35-
* acceptor.</p>
36-
* <p>The details include:</p>
37-
* <ul>
38-
* <li>
39-
* <p>
40-
* <code>TermType</code> – The type of term, such as <code>LegalTerm</code>,
41-
* <code>RenewalTerm</code>, or <code>ConfigurableUpfrontPricingTerm</code>.</p>
42-
* </li>
43-
* <li>
44-
* <p>
45-
* <code>TermID</code> – The ID of the particular term, which is common between offer
46-
* and agreement.</p>
47-
* </li>
48-
* <li>
49-
* <p>
50-
* <code>TermPayload</code> – The key information contained in the term, such as the
51-
* EULA for <code>LegalTerm</code> or pricing and dimensions for various pricing terms,
52-
* such as <code>ConfigurableUpfrontPricingTerm</code> or
53-
* <code>UsageBasedPricingTerm</code>.</p>
54-
* </li>
55-
* </ul>
56-
* <ul>
57-
* <li>
58-
* <p>
59-
* <code>Configuration</code> – The buyer/acceptor's selection at the time of
60-
* agreement creation, such as the number of units purchased for a dimension or setting
61-
* the <code>EnableAutoRenew</code> flag.</p>
62-
* </li>
63-
* </ul>
34+
* <p>Obtains details about the terms in an agreement that you participated in as proposer or acceptor.</p> <p>The details include:</p> <ul> <li> <p> <code>TermType</code> – The type of term, such as <code>LegalTerm</code>, <code>RenewalTerm</code>, or <code>ConfigurableUpfrontPricingTerm</code>.</p> </li> <li> <p> <code>TermID</code> – The ID of the particular term, which is common between offer and agreement.</p> </li> <li> <p> <code>TermPayload</code> – The key information contained in the term, such as the EULA for <code>LegalTerm</code> or pricing and dimensions for various pricing terms, such as <code>ConfigurableUpfrontPricingTerm</code> or <code>UsageBasedPricingTerm</code>.</p> </li> </ul> <ul> <li> <p> <code>Configuration</code> – The buyer/acceptor's selection at the time of agreement creation, such as the number of units purchased for a dimension or setting the <code>EnableAutoRenew</code> flag.</p> </li> </ul>
6435
* @example
6536
* Use a bare-bones client and the command you need to make an API call.
6637
* ```javascript
@@ -191,6 +162,15 @@ export interface GetAgreementTermsCommandOutput extends GetAgreementTermsOutput,
191162
* // },
192163
* // ],
193164
* // },
165+
* // variablePaymentTerm: { // VariablePaymentTerm
166+
* // type: "STRING_VALUE",
167+
* // currencyCode: "STRING_VALUE",
168+
* // maxTotalChargeAmount: "STRING_VALUE",
169+
* // configuration: { // VariablePaymentTermConfiguration
170+
* // paymentRequestApprovalStrategy: "AUTO_APPROVE_ON_EXPIRATION" || "WAIT_FOR_APPROVAL", // required
171+
* // expirationDuration: "STRING_VALUE",
172+
* // },
173+
* // },
194174
* // },
195175
* // ],
196176
* // nextToken: "STRING_VALUE",

clients/client-marketplace-agreement/src/commands/SearchAgreementsCommand.ts

Lines changed: 2 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -31,96 +31,7 @@ export interface SearchAgreementsCommandInput extends SearchAgreementsInput {}
3131
export interface SearchAgreementsCommandOutput extends SearchAgreementsOutput, __MetadataBearer {}
3232

3333
/**
34-
* <p>Searches across all agreements that a proposer or an acceptor has in AWS Marketplace. The search returns a list of agreements with basic agreement information.</p>
35-
* <p>The following filter combinations are supported:</p>
36-
* <ul>
37-
* <li>
38-
* <p>
39-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
40-
* <code>ResourceIdentifier</code>
41-
* </p>
42-
* </li>
43-
* <li>
44-
* <p>
45-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
46-
* <code>OfferId</code>
47-
* </p>
48-
* </li>
49-
* <li>
50-
* <p>
51-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
52-
* <code>AcceptorAccountId</code>
53-
* </p>
54-
* </li>
55-
* <li>
56-
* <p>
57-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
58-
* <code>Status</code>
59-
* </p>
60-
* </li>
61-
* <li>
62-
* <p>
63-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
64-
* <code>ResourceIdentifier</code> + <code>Status</code>
65-
* </p>
66-
* </li>
67-
* <li>
68-
* <p>
69-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
70-
* <code>OfferId</code> + <code>Status</code>
71-
* </p>
72-
* </li>
73-
* <li>
74-
* <p>
75-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
76-
* <code>AcceptorAccountId</code> + <code>Status</code>
77-
* </p>
78-
* </li>
79-
* <li>
80-
* <p>
81-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
82-
* <code>ResourceType</code> + <code>Status</code>
83-
* </p>
84-
* </li>
85-
* <li>
86-
* <p>
87-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
88-
* <code>AcceptorAccountId</code> + <code>ResourceType</code> +
89-
* <code>Status</code>
90-
* </p>
91-
* </li>
92-
* <li>
93-
* <p>
94-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
95-
* <code>AcceptorAccountId</code> + <code>OfferId</code>
96-
* </p>
97-
* </li>
98-
* <li>
99-
* <p>
100-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
101-
* <code>AcceptorAccountId</code> + <code>OfferId</code> + <code>Status</code>
102-
* </p>
103-
* </li>
104-
* <li>
105-
* <p>
106-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
107-
* <code>AcceptorAccountId</code> + <code>ResourceIdentifier</code>
108-
* </p>
109-
* </li>
110-
* <li>
111-
* <p>
112-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
113-
* <code>AcceptorAccountId</code> + <code>ResourceIdentifier</code> +
114-
* <code>Status</code>
115-
* </p>
116-
* </li>
117-
* <li>
118-
* <p>
119-
* <code>PartyType</code> as <code>Proposer</code> + <code>AgreementType</code> +
120-
* <code>AcceptorAccountId</code> + <code>ResourceType</code>
121-
* </p>
122-
* </li>
123-
* </ul>
34+
* <p>Searches across all agreements that a proposer has in AWS Marketplace. The search returns a list of agreements with basic agreement information.</p> <p>The following filter combinations are supported when the <code>PartyType</code> is <code>Proposer</code>:</p> <ul> <li> <p> <code>AgreementType</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>ResourceType</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>ResourceType</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>ResourceType</code> + <code>Status</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>ResourceType</code> + <code>Status</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>ResourceId</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>ResourceId</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>ResourceId</code> + <code>Status</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>ResourceId</code> + <code>Status</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>Status</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>Status</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>OfferId</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>OfferId</code> + <code>Status</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>OfferId</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>OfferId</code> + <code>Status</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>ResourceId</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>ResourceId</code> + <code>Status</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>ResourceId</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>ResourceId</code> + <code>Status</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>ResourceType</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>ResourceType</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>ResourceType</code> + <code>Status</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>AcceptorAccountId</code> + <code>ResourceType</code> + <code>Status</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>Status</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>Status</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>OfferId</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>OfferId</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>OfferId</code> + <code>Status</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>OfferId</code> + <code>Status</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>OfferSetId</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>OfferSetId</code> + <code>EndTime</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>OfferSetId</code> + <code>Status</code> </p> </li> <li> <p> <code>AgreementType</code> + <code>OfferSetId</code> + <code>Status</code> + <code>EndTime</code> </p> </li> </ul> <note> <p> To filter by <code>EndTime</code>, you can use either <code>BeforeEndTime</code> or <code>AfterEndTime</code>. Only <code>EndTime</code> is supported for sorting.</p> </note>
12435
* @example
12536
* Use a bare-bones client and the command you need to make an API call.
12637
* ```javascript
@@ -170,6 +81,7 @@ export interface SearchAgreementsCommandOutput extends SearchAgreementsOutput, _
17081
* // },
17182
* // ],
17283
* // offerId: "STRING_VALUE",
84+
* // offerSetId: "STRING_VALUE",
17385
* // },
17486
* // status: "ACTIVE" || "ARCHIVED" || "CANCELLED" || "EXPIRED" || "RENEWED" || "REPLACED" || "ROLLED_BACK" || "SUPERSEDED" || "TERMINATED",
17587
* // },

0 commit comments

Comments
 (0)