2026/09/01 - AWS Marketplace Agreement Service - 3 updated api methods
Changes This release adds renewal support for AWS Marketplace private offers. Agreements report whether they renew and, if not, why. Renewal terms add price increases, renewal limits, renewal decision deadlines, and payment schedule templates. SearchAgreements adds filters.
{'endTimeBehavior': {'reasonCode': 'PROPOSER_RENEW_OPTED_OUT | '
'ACCEPTOR_RENEW_OPTED_OUT | NO_RENEWAL_TERM '
'| RENEWAL_LIMIT_EXHAUSTED',
'renewalSummary': {'offerId': 'string'},
'type': 'RENEW | REPLACE | EXPIRE'},
'initialAgreementId': 'string'}
Provides details about an agreement, such as the proposer, acceptor, start date, and end date.
See also: AWS API Documentation
Request Syntax
client.describe_agreement(
agreementId='string'
)
string
[REQUIRED]
The unique identifier of the agreement.
dict
Response Syntax
{
'agreementId': 'string',
'acceptor': {
'accountId': 'string'
},
'proposer': {
'accountId': 'string'
},
'startTime': datetime(2015, 1, 1),
'endTime': datetime(2015, 1, 1),
'acceptanceTime': datetime(2015, 1, 1),
'agreementType': 'string',
'estimatedCharges': {
'currencyCode': 'string',
'agreementValue': 'string'
},
'proposalSummary': {
'resources': [
{
'id': 'string',
'type': 'string'
},
],
'offerId': 'string',
'offerSetId': 'string'
},
'status': 'ACTIVE'|'ARCHIVED'|'CANCELLED'|'EXPIRED'|'RENEWED'|'REPLACED'|'ROLLED_BACK'|'SUPERSEDED'|'TERMINATED',
'initialAgreementId': 'string',
'endTimeBehavior': {
'type': 'RENEW'|'REPLACE'|'EXPIRE',
'reasonCode': 'PROPOSER_RENEW_OPTED_OUT'|'ACCEPTOR_RENEW_OPTED_OUT'|'NO_RENEWAL_TERM'|'RENEWAL_LIMIT_EXHAUSTED',
'renewalSummary': {
'offerId': 'string'
}
}
}
Response Structure
(dict) --
agreementId (string) --
The unique identifier of the agreement.
acceptor (dict) --
The details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement.
accountId (string) --
The AWS account ID of the acceptor.
proposer (dict) --
The details of the party proposing the agreement terms. This is commonly the seller for PurchaseAgreement.
accountId (string) --
The AWS account ID of the proposer.
startTime (datetime) --
The date and time when the agreement starts.
endTime (datetime) --
The date and time when the agreement ends. The field is null for pay-as-you-go agreements, which don’t have end dates.
acceptanceTime (datetime) --
The date and time the offer was accepted or the agreement was created.
agreementType (string) --
The type of agreement. Values are PurchaseAgreement or VendorInsightsAgreement.
estimatedCharges (dict) --
The estimated cost of the agreement.
currencyCode (string) --
Defines the currency code for the charge.
agreementValue (string) --
The total known amount customer has to pay across the lifecycle of the agreement.
proposalSummary (dict) --
A summary of the proposal received from the proposer.
resources (list) --
The list of resources involved in the agreement.
(dict) --
The list of resources involved in the agreement.
id (string) --
The unique identifier of the resource.
type (string) --
Type of the resource, which is the product (for example, SaaSProduct, AmiProduct, ContainerProduct).
offerId (string) --
The unique identifier of the offer in AWS Marketplace.
offerSetId (string) --
A unique identifier for the offer set containing this offer. All agreements created from offers in this set include this identifier as context.
status (string) --
The current status of the agreement.
Statuses include:
ACTIVE – The terms of the agreement are active.
CANCELLED – The acceptor ended the agreement before the defined end date.
EXPIRED – The agreement ended on the defined end date.
RENEWED – The agreement was renewed into a new agreement (for example, an auto-renewal).
REPLACED – The agreement was replaced using an agreement replacement offer.
TERMINATED – The agreement ended before the defined end date because of an AWS termination (for example, a payment failure).
initialAgreementId (string) --
The unique identifier of the very first agreement in a chain of related agreements, such as renewals or replacements. It stays the same across all agreements in that chain, which lets you trace an agreement back to the original. When an agreement isn't derived from another agreement, its InitialAgreementId is its own AgreementId.
endTimeBehavior (dict) --
The behavior of the agreement when it reaches its end date. For example, whether the agreement renews, and if it doesn't, the reason why.
This field is present for every active agreement that has an end date. It is not present for an agreement that has no end date, because such an agreement never reaches an end time. Pay-as-you-go agreements are the most common example. It is also not present for an agreement that is no longer active.
type (string) --
The behavior of the agreement when it reaches its end date.
Types include:
RENEW – A new agreement is created from the accepted terms of this agreement.
REPLACE – A new agreement is created from a different offer than the one this agreement was created from. This happens, for example, when a private offer reaches its end date and the acceptor transitions to the public offer for the product.
EXPIRE – The agreement ends and isn't renewed or replaced.
reasonCode (string) --
The reason why the agreement doesn't renew at its end date. The field is null when the agreement renews.
More than one reason can apply to the same agreement. When that happens, the operation returns only one reason code, and PROPOSER_RENEW_OPTED_OUT takes precedence over all others.
The EnableAutoRenew field reflects only the acceptor's preference, and doesn't reflect the other reasons an agreement might not renew.
Reason codes include:
PROPOSER_RENEW_OPTED_OUT – The proposer opted out of renewing the agreement.
ACCEPTOR_RENEW_OPTED_OUT – The acceptor opted out of renewing the agreement.
NO_RENEWAL_TERM – The accepted terms of the agreement don't include a renewal term, which is required for an agreement to renew.
RENEWAL_LIMIT_EXHAUSTED – The agreement reached the maximum number of renewals allowed by its renewal term.
renewalSummary (dict) --
The details of the renewal that applies at the end date of the agreement. This field is present when Type is RENEW. It is also present when ReasonCode is PROPOSER_RENEW_OPTED_OUT or ACCEPTOR_RENEW_OPTED_OUT. In those cases, it identifies the offer that the agreement would otherwise have renewed from. The field is null in all other cases.
offerId (string) --
The unique identifier of the offer that provides the terms for the next renewal cycle. For most renewals, this is the same offer that the agreement was created from.
{'acceptedTerms': {'renewalTerm': {'adjustmentDeadline': 'string',
'lockoutPeriod': 'string',
'maxRenewals': 'integer',
'priceIncrease': {'fixedPercentage': {'value': 'string'},
'percentageRange': {'defaultValue': 'string',
'maxValue': 'string',
'minValue': 'string'}},
'termTemplates': [{'paymentScheduleTermTemplate': {'schedule': [{'chargeDateOffset': 'string',
'chargePercentage': 'string',
'dayOfMonth': 'integer'}]}}]}}}
Obtains details about the terms in an agreement that you participated in as proposer or acceptor.
The details include:
TermType – The type of term, such as LegalTerm, RenewalTerm, or ConfigurableUpfrontPricingTerm.
TermID – The ID of the particular term, which is common between offer and agreement.
TermPayload – The key information contained in the term, such as the EULA for LegalTerm or pricing and dimensions for various pricing terms, such as ConfigurableUpfrontPricingTerm or UsageBasedPricingTerm.
Configuration – The buyer/acceptor's selection at the time of agreement creation, such as the number of units purchased for a dimension or setting the EnableAutoRenew flag.
See also: AWS API Documentation
Request Syntax
client.get_agreement_terms(
agreementId='string',
maxResults=123,
nextToken='string'
)
string
[REQUIRED]
The unique identifier of the agreement.
integer
The maximum number of agreements to return in the response.
string
A token to specify where to start pagination.
dict
Response Syntax
{
'acceptedTerms': [
{
'legalTerm': {
'type': 'string',
'id': 'string',
'documents': [
{
'type': 'string',
'url': 'string',
'version': 'string'
},
]
},
'supportTerm': {
'type': 'string',
'id': 'string',
'refundPolicy': 'string'
},
'renewalTerm': {
'type': 'string',
'id': 'string',
'configuration': {
'enableAutoRenew': True|False
},
'lockoutPeriod': 'string',
'maxRenewals': 123,
'adjustmentDeadline': 'string',
'priceIncrease': {
'fixedPercentage': {
'value': 'string'
},
'percentageRange': {
'minValue': 'string',
'maxValue': 'string',
'defaultValue': 'string'
}
},
'termTemplates': [
{
'paymentScheduleTermTemplate': {
'schedule': [
{
'chargeDateOffset': 'string',
'chargePercentage': 'string',
'dayOfMonth': 123
},
]
}
},
]
},
'usageBasedPricingTerm': {
'type': 'string',
'id': 'string',
'currencyCode': 'string',
'rateCards': [
{
'rateCard': [
{
'dimensionKey': 'string',
'price': 'string'
},
]
},
]
},
'configurableUpfrontPricingTerm': {
'type': 'string',
'id': 'string',
'currencyCode': 'string',
'rateCards': [
{
'selector': {
'type': 'string',
'value': 'string'
},
'constraints': {
'multipleDimensionSelection': 'string',
'quantityConfiguration': 'string'
},
'rateCard': [
{
'dimensionKey': 'string',
'price': 'string'
},
]
},
],
'configuration': {
'selectorValue': 'string',
'dimensions': [
{
'dimensionKey': 'string',
'dimensionValue': 123
},
]
}
},
'byolPricingTerm': {
'type': 'string',
'id': 'string'
},
'recurringPaymentTerm': {
'type': 'string',
'id': 'string',
'currencyCode': 'string',
'billingPeriod': 'string',
'price': 'string'
},
'validityTerm': {
'type': 'string',
'id': 'string',
'agreementDuration': 'string',
'agreementStartDate': datetime(2015, 1, 1),
'agreementEndDate': datetime(2015, 1, 1)
},
'paymentScheduleTerm': {
'type': 'string',
'id': 'string',
'currencyCode': 'string',
'schedule': [
{
'chargeDate': datetime(2015, 1, 1),
'chargeAmount': 'string'
},
]
},
'freeTrialPricingTerm': {
'type': 'string',
'id': 'string',
'duration': 'string',
'grants': [
{
'dimensionKey': 'string',
'maxQuantity': 123
},
]
},
'fixedUpfrontPricingTerm': {
'type': 'string',
'id': 'string',
'currencyCode': 'string',
'duration': 'string',
'price': 'string',
'grants': [
{
'dimensionKey': 'string',
'maxQuantity': 123
},
]
},
'variablePaymentTerm': {
'type': 'string',
'id': 'string',
'currencyCode': 'string',
'maxTotalChargeAmount': 'string',
'configuration': {
'paymentRequestApprovalStrategy': 'AUTO_APPROVE_ON_EXPIRATION'|'WAIT_FOR_APPROVAL',
'expirationDuration': 'string'
}
},
'netPaymentTerm': {
'type': 'string',
'id': 'string',
'paymentDuePeriod': 'string'
}
},
],
'nextToken': 'string'
}
Response Structure
(dict) --
acceptedTerms (list) --
A subset of terms proposed by the proposer that have been accepted by the acceptor as part of the agreement creation.
(dict) --
A subset of terms proposed by the proposer, which have been accepted by the acceptor as part of agreement creation.
legalTerm (dict) --
Defines the list of text agreements proposed to the acceptors. An example is the end user license agreement (EULA).
type (string) --
Category of the term being updated.
id (string) --
The unique identifer for the term.
documents (list) --
List of references to legal resources proposed to the buyers. An example is the EULA.
(dict) --
Includes the list of references to legal resources proposed by the proposer to the acceptor. Each DocumentItem refers to an individual reference.
type (string) --
Category of the document. Document types include:
CustomEula – A custom EULA provided by you as seller. A URL for a EULA stored in an accessible Amazon S3 bucket is required for this document type.
CustomDsa – A custom Data Subscription Agreement (DSA) provided by you as seller. A URL for a DSA stored in an accessible Amazon S3 bucket is required for this document type.
StandardEula – The Standard Contract for AWS Marketplace (SCMP). For more information about SCMP, see the AWS Marketplace Seller Guide. You don’t provide a URL for this type because it’s managed by AWS Marketplace.
StandardDsa – DSA for AWS Marketplace. For more information about the DSA, see the AWS Data Exchange User Guide. You don’t provide a URL for this type because it’s managed by AWS Marketplace.
url (string) --
A URL to the legal document for buyers to read. Required when Type is CustomEula.
version (string) --
Version of standard contracts provided by AWS Marketplace. Required when Type is StandardEula or StandardDsa.
supportTerm (dict) --
Defines the customer support available for the acceptors when they purchase the software.
type (string) --
Category of the term being updated.
id (string) --
The unique identifier for the term.
refundPolicy (string) --
Free-text field about the refund policy description that will be shown to customers as is on the website and console.
renewalTerm (dict) --
Defines that on graceful expiration of the agreement (when the agreement ends on its pre-defined end date), a new agreement will be created using the accepted terms on the existing agreement. In other words, the agreement will be renewed. Presence of RenewalTerm in the offer document means that auto-renewal is allowed. The acceptor will have the option to accept or decline auto-renewal at the offer acceptance/agreement creation. The acceptor can also change this flag from True to False or False to True, within the limits set by LockoutPeriod and MaxRenewals. Setting the flag to True doesn't by itself guarantee that the agreement renews, because the proposer can also opt out.
type (string) --
Category of the term being updated.
id (string) --
The unique identifier for the term.
configuration (dict) --
Additional parameters specified by the acceptor while accepting the term.
enableAutoRenew (boolean) --
Defines whether the acceptor has chosen to auto-renew the agreement when it reaches its end date. Can be set to True or False. The acceptor can change this value within the limits set by LockoutPeriod and MaxRenewals.
lockoutPeriod (string) --
The renewal decision deadline, measured back from the end date of the agreement. This is the last day either party can opt in to or opt out of the renewal. The duration is represented in the ISO 8601 format in whole days (for example, P30D for 30 days or P60D for 60 days).
The field is null when no renewal decision deadline is set. In that case, either party can change the auto-renewal decision up to the end date of the agreement.
maxRenewals (integer) --
The maximum number of times the agreement can be renewed. The field is null when the number of renewals is unlimited.
After the agreement reaches this limit, it expires on its end date instead of renewing.
adjustmentDeadline (string) --
The date by which the proposer must finalize the price increase for the next renewal, measured back from the end date of the agreement. The duration is represented in the ISO 8601 format in whole days (for example, P30D for 30 days or P60D for 60 days).
This field applies only when PriceIncrease is a PercentageRange. The field is null when PriceIncrease is a FixedPercentage, because the price increase is already fixed and there is nothing for the proposer to finalize. If the proposer doesn't finalize a value by the adjustment deadline, the DefaultValue of the range applies.
AdjustmentDeadline must be greater than LockoutPeriod.
priceIncrease (dict) --
The price increase that is applied each time the agreement renews. The field is null when the price doesn't change at renewal.
fixedPercentage (dict) --
A fixed price increase percentage that is applied at each renewal.
value (string) --
The percentage by which the price increases at each renewal, from 0.00 to 100.00 with up to two decimal places. A value of 0.00 means that the agreement renews at the same price.
percentageRange (dict) --
A range of price increase percentages that the proposer can choose from before the adjustment deadline of the agreement.
minValue (string) --
The lowest percentage that the proposer can choose, from 0.00 to 100.00 with up to two decimal places.
maxValue (string) --
The highest percentage that the proposer can choose, from 0.00 to 100.00 with up to two decimal places.
defaultValue (string) --
The percentage that is applied if the proposer doesn't choose a value before the adjustment deadline. Valid values range from 0.00 to 100.00, with up to two decimal places.
termTemplates (list) --
Defines how specific terms change each time the agreement renews. The field is null when no terms change at renewal.
(dict) --
Defines how a specific type of term changes each time the agreement renews. Exactly one of the following fields is set.
paymentScheduleTermTemplate (dict) --
Defines the payment schedule that is applied to the renewed agreement.
schedule (list) --
The installments that make up the payment schedule of the renewed agreement. The ChargePercentage values of all installments add up to 100.
(dict) --
A single installment in a payment schedule template. Because the start date of the renewed agreement isn't known when the offer is created, the charge date of each installment is expressed as an offset from that start date rather than as an absolute date.
chargeDateOffset (string) --
The time between the start date of the renewed agreement and the date this installment is charged. The duration is represented in the ISO 8601 format in either whole months or whole days (for example, P1M for 1 month or P30D for 30 days). All installments in a schedule use the same unit.
chargePercentage (string) --
The percentage of the total contract value of the renewed agreement that is charged in this installment. Valid values range from 0.01 to 100.00, with up to two decimal places.
dayOfMonth (integer) --
The day of the month on which this installment is charged, from 1 to 31. Use this field to anchor the charge to a specific calendar day within the month identified by ChargeDateOffset. This field is supported only when ChargeDateOffset is expressed in months.
usageBasedPricingTerm (dict) --
Defines a usage-based pricing model (typically, pay-as-you-go pricing), where the customers are charged based on product usage.
type (string) --
Category of the term.
id (string) --
The unique identifier for the term.
currencyCode (string) --
Defines the currency for the prices mentioned in the term.
rateCards (list) --
List of rate cards.
(dict) --
Within the pay-as-you-go model defined under UsageBasedPricingTerm, the UsageBasedRateCardItem defines an individual rate for a product dimension.
rateCard (list) --
Defines the per unit rates for product dimensions.
(dict) --
Defines the per unit rates for each individual product dimension.
dimensionKey (string) --
Dimension for which the given entitlement applies. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace.
price (string) --
Per unit price for the product dimension that’s used for calculating the amount to be charged.
configurableUpfrontPricingTerm (dict) --
Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration.
type (string) --
Category of selector.
id (string) --
The unique identifier of the term.
currencyCode (string) --
Defines the currency for the prices mentioned in the term.
rateCards (list) --
A rate card defines the per unit rates for product dimensions.
(dict) --
Within the prepaid payment model defined under ConfigurableUpfrontPricingTerm, the RateCardItem defines all the various rate cards (including pricing and dimensions) that have been proposed.
selector (dict) --
Differentiates between the mutually exclusive rate cards in the same pricing term to be selected by the buyer.
type (string) --
Category of selector.
value (string) --
Contract duration. This field supports the ISO 8601 format.
constraints (dict) --
Defines limits on how the term can be configured by acceptors.
multipleDimensionSelection (string) --
Determines if buyers are allowed to select multiple dimensions in the rate card. The possible values are Allowed and Disallowed. The default value is Allowed.
quantityConfiguration (string) --
Determines if acceptors are allowed to configure quantity for each dimension in rate card. The possible values are Allowed and Disallowed. The default value is Allowed.
rateCard (list) --
Defines the per unit rates for product dimensions.
(dict) --
Defines the per unit rates for each individual product dimension.
dimensionKey (string) --
Dimension for which the given entitlement applies. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace.
price (string) --
Per unit price for the product dimension that’s used for calculating the amount to be charged.
configuration (dict) --
Additional parameters specified by the acceptor while accepting the term.
selectorValue (string) --
Defines the length of time for which the particular pricing/dimension is being purchased by the acceptor.
dimensions (list) --
Defines the dimensions that the acceptor has purchased from the overall set of dimensions presented in the rate card.
(dict) --
Defines the dimensions that the acceptor has purchased from the overall set of dimensions presented in the rate card.
dimensionKey (string) --
The name of key value of the dimension.
dimensionValue (integer) --
The number of units of the dimension the acceptor has purchased.
byolPricingTerm (dict) --
Enables you and your customers to move your existing agreements to AWS Marketplace. The customer won't be charged for product usage in AWS Marketplace because they already paid for the product outside of AWS Marketplace.
type (string) --
Type of the term being updated.
id (string) --
The unique identifier for the term.
recurringPaymentTerm (dict) --
Defines a pricing model where customers are charged a fixed recurring price at the end of each billing period.
type (string) --
Type of the term being updated.
id (string) --
The unique identifier for the term.
currencyCode (string) --
Defines the currency for the prices mentioned in this term.
billingPeriod (string) --
Defines the recurrence at which buyers are charged.
price (string) --
Amount charged to the buyer every billing period.
validityTerm (dict) --
Defines the conditions that will keep an agreement created from this offer valid.
type (string) --
Category of the term being updated.
id (string) --
The unique identifier for the term.
agreementDuration (string) --
Defines the duration that the agreement remains active. If AgreementStartDate isn’t provided, the agreement duration is relative to the agreement signature time. The duration is represented in the ISO_8601 format.
agreementStartDate (datetime) --
Defines the date when agreement starts. The agreement starts at 00:00:00.000 UTC on the date provided. If AgreementStartDate isn’t provided, the agreement start date is determined based on agreement signature time.
agreementEndDate (datetime) --
Defines the date when the agreement ends. The agreement ends at 23:59:59.999 UTC on the date provided. If AgreementEndDate isn’t provided, the agreement end date is determined by the validity of individual terms.
paymentScheduleTerm (dict) --
Defines an installment-based pricing model where customers are charged a fixed price on different dates during the agreement validity period. This is used most commonly for flexible payment schedule pricing.
type (string) --
Type of the term.
id (string) --
The unique identifier for the term.
currencyCode (string) --
Defines the currency for the prices mentioned in the term.
schedule (list) --
List of the payment schedule where each element defines one installment of payment. It contains the information necessary for calculating the price.
(dict) --
An individual installment of the payment that includes the date and amount of the charge.
chargeDate (datetime) --
The date that the customer would pay the price defined in this payment schedule term. Invoices are generated on the date provided.
chargeAmount (string) --
The price that the customer would pay on the scheduled date (chargeDate).
freeTrialPricingTerm (dict) --
Defines a short-term free pricing model where the buyers aren’t charged anything within a specified limit.
type (string) --
Category of the term.
id (string) --
The unique identifier for the terms.
duration (string) --
Duration of the free trial period (5–31 days).
grants (list) --
Entitlements granted to the acceptor of a free trial as part of an agreement execution.
(dict) --
Entitlements granted to the acceptor of fixed upfront as part of agreement execution.
dimensionKey (string) --
Unique dimension key defined in the product document. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace.
maxQuantity (integer) --
Maximum amount of capacity that the buyer can be entitled to the given dimension of the product. If MaxQuantity is not provided, the buyer will be able to use an unlimited amount of the given dimension.
fixedUpfrontPricingTerm (dict) --
Defines a pre-paid pricing model where the customers are charged a fixed upfront amount.
type (string) --
Category of the term being updated.
id (string) --
The unique identifier for the term.
currencyCode (string) --
Defines the currency for the prices mentioned in this term.
duration (string) --
Contract duration for the terms.
price (string) --
Fixed amount to be charged to the customer when this term is accepted.
grants (list) --
Entitlements granted to the acceptor of fixed upfront as part of agreement execution.
(dict) --
Entitlements granted to the acceptor of fixed upfront as part of agreement execution.
dimensionKey (string) --
Unique dimension key defined in the product document. Dimensions represent categories of capacity in a product and are specified when the product is listed in AWS Marketplace.
maxQuantity (integer) --
Maximum amount of capacity that the buyer can be entitled to the given dimension of the product. If MaxQuantity is not provided, the buyer will be able to use an unlimited amount of the given dimension.
variablePaymentTerm (dict) --
Defines a payment model where sellers can submit variable payment requests up to a maximum charge amount, with configurable approval strategies and expiration timelines.
type (string) --
Type of the term.
id (string) --
The unique identifier for the term.
currencyCode (string) --
Defines the currency for the prices mentioned in the term.
maxTotalChargeAmount (string) --
The maximum total amount that can be charged to the customer through variable payment requests under this term.
configuration (dict) --
Additional parameters specified by the acceptor while accepting the term.
paymentRequestApprovalStrategy (string) --
Defines the strategy for approving payment requests. Values include AUTO_APPROVE_ON_EXPIRATION and WAIT_FOR_APPROVAL
expirationDuration (string) --
Defines the duration after which a payment request is automatically approved if no further action is taken. This only applies when the payment request approval strategy is set to AUTO_APPROVE_ON_EXPIRATION. The duration is represented in the ISO_8601 format (e.g., P10D for 10 days).
netPaymentTerm (dict) --
Defines the net payment due period for the agreement, specifying when payment is due after an invoice is issued.
type (string) --
Type of the term being updated.
id (string) --
The unique identifier for the term.
paymentDuePeriod (string) --
The duration after an invoice is issued within which the payment is due. The duration is represented in the ISO 8601 format (for example, P30D for 30 days or P60D for 60 days).
nextToken (string) --
The token used for pagination. The field is null if there are no more results.
{'agreementViewSummaries': {'endTimeBehaviorReasonCode': 'PROPOSER_RENEW_OPTED_OUT '
'| '
'ACCEPTOR_RENEW_OPTED_OUT '
'| NO_RENEWAL_TERM | '
'RENEWAL_LIMIT_EXHAUSTED',
'endTimeBehaviorType': 'RENEW | REPLACE | EXPIRE',
'initialAgreementId': 'string',
'lastUpdateTime': 'timestamp'}}
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.
See also: AWS API Documentation
Request Syntax
client.search_agreements(
catalog='string',
filters=[
{
'name': 'string',
'values': [
'string',
]
},
],
sort={
'sortBy': 'string',
'sortOrder': 'ASCENDING'|'DESCENDING'
},
maxResults=123,
nextToken='string'
)
string
The catalog in which the agreement was created.
list
The filter name and value pair used to return a specific list of results.
The following filters are supported:
ResourceIdentifier – The unique identifier of the resource.
ResourceType – Type of the resource, which is the product ( AmiProduct, ContainerProduct, SaaSProduct, ProfessionalServicesProduct, or MachineLearningProduct).
PartyType – The party type of the caller. Use Proposer or Acceptor.
AcceptorAccountId – The AWS account ID of the party accepting the agreement terms.
OfferId – The unique identifier of the offer in which the terms are registered in the agreement token.
Status – The current status of the agreement. Values include ACTIVE, CANCELLED, EXPIRED, RENEWED, REPLACED, and TERMINATED.
BeforeEndTime – A date used to filter agreements with a date before the endTime of an agreement.
AfterEndTime – A date used to filter agreements with a date after the endTime of an agreement.
BeforeStartTime – A date used to filter agreements with a date before the startTime of an agreement.
AfterStartTime – A date used to filter agreements with a date after the startTime of an agreement.
BeforeLastUpdateTime – A date used to filter agreements with a date before the lastUpdateTime of an agreement.
AfterLastUpdateTime – A date used to filter agreements with a date after the lastUpdateTime of an agreement.
AgreementType – The type of agreement. Supported value includes PurchaseAgreement.
OfferSetId – A unique identifier for the offer set containing this offer. All agreements created from offers in this set include this identifier as context.
EndTimeBehaviorType – What happens to the agreement when it reaches its end date. Values include RENEW, REPLACE, and EXPIRE.
EndTimeBehaviorReasonCode – The reason why the agreement doesn't renew at its end date. Values include PROPOSER_RENEW_OPTED_OUT, ACCEPTOR_RENEW_OPTED_OUT, NO_RENEWAL_TERM, and RENEWAL_LIMIT_EXHAUSTED.
InitialAgreementId – The unique identifier of the very first agreement in a chain of related agreements. Use this filter to return every agreement in the same chain.
LicenseArn – The Amazon Resource Name (ARN) of the AWS License Manager license associated with an entitlement granted by the agreement.
A proposer can use any combination of the preceding filters along with AgreementType, which is required.
The following filter combinations are supported when the PartyType is Acceptor:
AgreementType
AgreementType + Status
AgreementType + EndTime
AgreementType + Status + EndTime
AgreementType + ResourceIdentifier
AgreementType + ResourceIdentifier + EndTime
AgreementType + ResourceIdentifier + Status
AgreementType + ResourceIdentifier + Status + EndTime
AgreementType + ResourceType
AgreementType + ResourceType + EndTime
AgreementType + OfferId
AgreementType + OfferId + EndTime
AgreementType + OfferId + Status
AgreementType + OfferId + Status + EndTime
AgreementType + OfferSetId
AgreementType + OfferSetId + EndTime
AgreementType + OfferSetId + Status
AgreementType + OfferSetId + Status + EndTime
(dict) --
The filter name and value pair that is used to return a more specific list of results. Filters can be used to match a set of resources by various criteria, such as offerId or productId.
name (string) --
The name of the filter.
values (list) --
The filter value.
(string) --
dict
An object that contains the SortBy and SortOrder attributes. For SearchAgreements, SortBy supports EndTime for both party types, and StartTime and LastUpdateTime only when PartyType is Proposer. The default SortBy value is EndTime.
sortBy (string) --
The attribute on which the data is grouped, which can be EndTime, StartTime, or LastUpdateTime. StartTime and LastUpdateTime are supported only when PartyType is Proposer. The default value is EndTime.
sortOrder (string) --
The sorting order, which can be ASCENDING or DESCENDING. The default value is ASCENDING.
integer
The maximum number of agreements to return in the response.
string
A token to specify where to start pagination.
dict
Response Syntax
{
'agreementViewSummaries': [
{
'agreementId': 'string',
'acceptanceTime': datetime(2015, 1, 1),
'startTime': datetime(2015, 1, 1),
'endTime': datetime(2015, 1, 1),
'lastUpdateTime': datetime(2015, 1, 1),
'agreementType': 'string',
'acceptor': {
'accountId': 'string'
},
'proposer': {
'accountId': 'string'
},
'proposalSummary': {
'resources': [
{
'id': 'string',
'type': 'string'
},
],
'offerId': 'string',
'offerSetId': 'string'
},
'status': 'ACTIVE'|'ARCHIVED'|'CANCELLED'|'EXPIRED'|'RENEWED'|'REPLACED'|'ROLLED_BACK'|'SUPERSEDED'|'TERMINATED',
'entitlements': [
{
'licenseArn': 'string'
},
],
'initialAgreementId': 'string',
'endTimeBehaviorType': 'RENEW'|'REPLACE'|'EXPIRE',
'endTimeBehaviorReasonCode': 'PROPOSER_RENEW_OPTED_OUT'|'ACCEPTOR_RENEW_OPTED_OUT'|'NO_RENEWAL_TERM'|'RENEWAL_LIMIT_EXHAUSTED'
},
],
'nextToken': 'string'
}
Response Structure
(dict) --
agreementViewSummaries (list) --
A summary of the agreement, including top-level attributes (for example, the agreement ID, proposer, and acceptor).
(dict) --
A summary of the agreement, including top-level attributes (for example, the agreement ID, proposer, and acceptor).
agreementId (string) --
The unique identifier of the agreement.
acceptanceTime (datetime) --
The date and time that the agreement was accepted.
startTime (datetime) --
The date and time when the agreement starts.
endTime (datetime) --
The date and time when the agreement ends. The field is null for pay-as-you-go agreements, which don’t have end dates.
lastUpdateTime (datetime) --
The date and time when the agreement was last updated. An agreement is updated when any of its attributes or accepted terms change. Amendments, renewals, and a party changing whether the agreement renews are all examples.
Use the BeforeLastUpdateTime and AfterLastUpdateTime filters to search on this value, and LastUpdateTime as the SortBy value to sort by it. Sorting by LastUpdateTime is supported only when PartyType is Proposer.
agreementType (string) --
The type of agreement.
acceptor (dict) --
Details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement.
accountId (string) --
The AWS account ID of the acceptor.
proposer (dict) --
Details of the party proposing the agreement terms, most commonly the seller for PurchaseAgreement.
accountId (string) --
The AWS account ID of the proposer.
proposalSummary (dict) --
A summary of the proposal
resources (list) --
The list of resources involved in the agreement.
(dict) --
The list of resources involved in the agreement.
id (string) --
The unique identifier of the resource.
type (string) --
Type of the resource, which is the product (for example, SaaSProduct, AmiProduct, ContainerProduct).
offerId (string) --
The unique identifier of the offer in AWS Marketplace.
offerSetId (string) --
A unique identifier for the offer set containing this offer. All agreements created from offers in this set include this identifier as context.
status (string) --
The current status of the agreement.
entitlements (list) --
A list of entitlements associated with the agreement.
(dict) --
Represents an entitlement associated with an agreement.
licenseArn (string) --
The Amazon Resource Name (ARN) of the AWS License Manager license associated with the entitlement.
initialAgreementId (string) --
The unique identifier of the very first agreement in a chain of related agreements, such as renewals or replacements. It stays the same across all agreements in that chain, which lets you trace an agreement back to the original. You can also use it as the InitialAgreementId filter value to return every agreement in the same chain.
endTimeBehaviorType (string) --
The behavior of the agreement when it reaches its end date. The field is null for agreements that have no end date, because those agreements never reach an end time.
Types include:
RENEW – A new agreement is created from the accepted terms of this agreement.
REPLACE – A new agreement is created from a different offer than the one this agreement was created from. This happens, for example, when a private offer reaches its end date and the acceptor transitions to the public offer for the product.
EXPIRE – The agreement ends and isn't renewed or replaced.
endTimeBehaviorReasonCode (string) --
The reason why the agreement doesn't renew at its end date. The field is null when the agreement renews.
More than one reason can apply to the same agreement. When that happens, the operation returns only one reason code, and PROPOSER_RENEW_OPTED_OUT takes precedence over all others.
The EnableAutoRenew field reflects only the acceptor's preference, and doesn't reflect the other reasons an agreement might not renew.
Reason codes include:
PROPOSER_RENEW_OPTED_OUT – The proposer opted out of renewing the agreement.
ACCEPTOR_RENEW_OPTED_OUT – The acceptor opted out of renewing the agreement.
NO_RENEWAL_TERM – The accepted terms of the agreement don't include a renewal term, which is required for an agreement to renew.
RENEWAL_LIMIT_EXHAUSTED – The agreement reached the maximum number of renewals allowed by its renewal term.
nextToken (string) --
The token used for pagination. The field is null if there are no more results.