diff --git a/.changes/1.33.4.json b/.changes/1.33.4.json new file mode 100644 index 0000000000..b25a5218e2 --- /dev/null +++ b/.changes/1.33.4.json @@ -0,0 +1,27 @@ +[ + { + "category": "``marketplace-agreement``", + "description": "The AWS Marketplace Agreement Service provides an API interface that helps AWS Marketplace sellers manage their agreements, including listing, filtering, and viewing details about their agreements.", + "type": "api-change" + }, + { + "category": "``marketplace-catalog``", + "description": "This release enhances the ListEntities API to support new entity type-specific strongly typed filters in the request and entity type-specific strongly typed summaries in the response.", + "type": "api-change" + }, + { + "category": "``marketplace-deployment``", + "description": "AWS Marketplace Deployment is a new service that provides essential features that facilitate the deployment of software, data, and services procured through AWS Marketplace.", + "type": "api-change" + }, + { + "category": "``redshift-serverless``", + "description": "This release adds the following support for Amazon Redshift Serverless: 1) cross-account cross-VPCs, 2) copying snapshots across Regions, 3) scheduling snapshot creation, and 4) restoring tables from a recovery point.", + "type": "api-change" + }, + { + "category": "``endpoint-rules``", + "description": "Update endpoint-rules client to latest version", + "type": "api-change" + } +] \ No newline at end of file diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6ae84b8aa0..d70f74af74 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -2,6 +2,16 @@ CHANGELOG ========= +1.33.4 +====== + +* api-change:``marketplace-agreement``: The AWS Marketplace Agreement Service provides an API interface that helps AWS Marketplace sellers manage their agreements, including listing, filtering, and viewing details about their agreements. +* api-change:``marketplace-catalog``: This release enhances the ListEntities API to support new entity type-specific strongly typed filters in the request and entity type-specific strongly typed summaries in the response. +* api-change:``marketplace-deployment``: AWS Marketplace Deployment is a new service that provides essential features that facilitate the deployment of software, data, and services procured through AWS Marketplace. +* api-change:``redshift-serverless``: This release adds the following support for Amazon Redshift Serverless: 1) cross-account cross-VPCs, 2) copying snapshots across Regions, 3) scheduling snapshot creation, and 4) restoring tables from a recovery point. +* api-change:``endpoint-rules``: Update endpoint-rules client to latest version + + 1.33.3 ====== diff --git a/botocore/__init__.py b/botocore/__init__.py index fdbae38aea..13a71d8183 100644 --- a/botocore/__init__.py +++ b/botocore/__init__.py @@ -16,7 +16,7 @@ import os import re -__version__ = '1.33.3' +__version__ = '1.33.4' class NullHandler(logging.Handler): diff --git a/botocore/data/endpoints.json b/botocore/data/endpoints.json index 5607d66013..31291963ca 100644 --- a/botocore/data/endpoints.json +++ b/botocore/data/endpoints.json @@ -405,6 +405,11 @@ } } }, + "agreement-marketplace" : { + "endpoints" : { + "us-east-1" : { } + } + }, "airflow" : { "endpoints" : { "ap-northeast-1" : { }, @@ -20019,6 +20024,11 @@ "cn-northwest-1" : { } } }, + "redshift-serverless" : { + "endpoints" : { + "cn-north-1" : { } + } + }, "resource-explorer-2" : { "defaults" : { "dnsSuffix" : "api.amazonwebservices.com.cn", diff --git a/botocore/data/marketplace-agreement/2020-03-01/endpoint-rule-set-1.json b/botocore/data/marketplace-agreement/2020-03-01/endpoint-rule-set-1.json new file mode 100644 index 0000000000..d6efb5c330 --- /dev/null +++ b/botocore/data/marketplace-agreement/2020-03-01/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://agreement-marketplace-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://agreement-marketplace-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://agreement-marketplace.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://agreement-marketplace.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/botocore/data/marketplace-agreement/2020-03-01/paginators-1.json b/botocore/data/marketplace-agreement/2020-03-01/paginators-1.json new file mode 100644 index 0000000000..ea142457a6 --- /dev/null +++ b/botocore/data/marketplace-agreement/2020-03-01/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/marketplace-agreement/2020-03-01/service-2.json b/botocore/data/marketplace-agreement/2020-03-01/service-2.json new file mode 100644 index 0000000000..19fcb953e0 --- /dev/null +++ b/botocore/data/marketplace-agreement/2020-03-01/service-2.json @@ -0,0 +1,1041 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-03-01", + "endpointPrefix":"agreement-marketplace", + "jsonVersion":"1.0", + "protocol":"json", + "serviceAbbreviation":"Agreement Service", + "serviceFullName":"AWS Marketplace Agreement Service", + "serviceId":"Marketplace Agreement", + "signatureVersion":"v4", + "signingName":"aws-marketplace", + "targetPrefix":"AWSMPCommerceService_v20200301", + "uid":"marketplace-agreement-2020-03-01" + }, + "operations":{ + "DescribeAgreement":{ + "name":"DescribeAgreement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeAgreementInput"}, + "output":{"shape":"DescribeAgreementOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"
Provides details about an agreement, such as the proposer, acceptor, start date, and end date.
" + }, + "GetAgreementTerms":{ + "name":"GetAgreementTerms", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAgreementTermsInput"}, + "output":{"shape":"GetAgreementTermsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ], + "documentation":"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.
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.
The following filter combinations are supported:
PartyType
as Proposer
+ AgreementType
+ ResourceIdentifier
PartyType
as Proposer
+ AgreementType
+ OfferId
PartyType
as Proposer
+ AgreementType
+ AcceptorAccountId
PartyType
as Proposer
+ AgreementType
+ Status
PartyType
as Proposer
+ AgreementType
+ ResourceIdentifier
+ Status
PartyType
as Proposer
+ AgreementType
+ OfferId
+ Status
PartyType
as Proposer
+ AgreementType
+ AcceptorAccountId
+ Status
PartyType
as Proposer
+ AgreementType
+ ResourceType
+ Status
PartyType
as Proposer
+ AgreementType
+ AcceptorAccountId
+ ResourceType
+ Status
PartyType
as Proposer
+ AgreementType
+ AcceptorAccountId
+ OfferId
PartyType
as Proposer
+ AgreementType
+ AcceptorAccountId
+ OfferId
+ Status
PartyType
as Proposer
+ AgreementType
+ AcceptorAccountId
+ ResourceIdentifier
PartyType
as Proposer
+ AgreementType
+ AcceptorAccountId
+ ResourceIdentifier
+ Status
PartyType
as Proposer
+ AgreementType
+ AcceptorAccountId
+ ResourceType
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.
" + }, + "configurableUpfrontPricingTerm":{ + "shape":"ConfigurableUpfrontPricingTerm", + "documentation":"Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration.
" + }, + "fixedUpfrontPricingTerm":{ + "shape":"FixedUpfrontPricingTerm", + "documentation":"Defines a pre-paid pricing model where the customers are charged a fixed upfront amount.
" + }, + "freeTrialPricingTerm":{ + "shape":"FreeTrialPricingTerm", + "documentation":"Defines a short-term free pricing model where the buyers aren’t charged anything within a specified limit.
" + }, + "legalTerm":{ + "shape":"LegalTerm", + "documentation":"Defines the list of text agreements proposed to the acceptors. An example is the end user license agreement (EULA).
" + }, + "paymentScheduleTerm":{ + "shape":"PaymentScheduleTerm", + "documentation":"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.
" + }, + "recurringPaymentTerm":{ + "shape":"RecurringPaymentTerm", + "documentation":"Defines a pricing model where customers are charged a fixed recurring price at the end of each billing period.
" + }, + "renewalTerm":{ + "shape":"RenewalTerm", + "documentation":"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. Buyers will have the option to accept or decline auto-renewal at the offer acceptance/agreement creation. Buyers can also change this flag from True
to False
or False
to True
at anytime during the agreement's lifecycle.
Defines the customer support available for the acceptors when they purchase the software.
" + }, + "usageBasedPricingTerm":{ + "shape":"UsageBasedPricingTerm", + "documentation":"Defines a usage-based pricing model (typically, pay-as-you-go pricing), where the customers are charged based on product usage.
" + }, + "validityTerm":{ + "shape":"ValidityTerm", + "documentation":"Defines the conditions that will keep an agreement created from this offer valid.
" + } + }, + "documentation":"A subset of terms proposed by the proposer, which have been accepted by the acceptor as part of agreement creation.
", + "union":true + }, + "AcceptedTermList":{ + "type":"list", + "member":{"shape":"AcceptedTerm"} + }, + "Acceptor":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"AWSAccountId", + "documentation":"The AWS account ID of the acceptor.
" + } + }, + "documentation":"The details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement
.
The unique identifier for the error.
" + } + }, + "documentation":"User does not have sufficient access to perform this action.
", + "exception":true + }, + "AgreementResourceType":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z]+$" + }, + "AgreementStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "ARCHIVED", + "CANCELLED", + "EXPIRED", + "RENEWED", + "REPLACED", + "ROLLED_BACK", + "SUPERSEDED", + "TERMINATED" + ] + }, + "AgreementType":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[A-Za-z]+$" + }, + "AgreementViewSummary":{ + "type":"structure", + "members":{ + "acceptanceTime":{ + "shape":"Timestamp", + "documentation":"The date and time that the agreement was accepted.
" + }, + "acceptor":{ + "shape":"Acceptor", + "documentation":"Details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement.
The unique identifier of the agreement.
" + }, + "agreementType":{ + "shape":"AgreementType", + "documentation":"The type of agreement. Values are PurchaseAgreement
or VendorInsightsAgreement
.
The date and time when the agreement ends. The field is null
for pay-as-you-go agreements, which don’t have end dates.
A summary of the proposal
" + }, + "proposer":{ + "shape":"Proposer", + "documentation":"Details of the party proposing the agreement terms, most commonly the seller for PurchaseAgreement
.
The date and time when the agreement starts.
" + }, + "status":{ + "shape":"AgreementStatus", + "documentation":"The current status of the agreement.
" + } + }, + "documentation":"A summary of the agreement, including top-level attributes (for example, the agreement ID, version, proposer, and acceptor).
" + }, + "AgreementViewSummaryList":{ + "type":"list", + "member":{"shape":"AgreementViewSummary"} + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "BoundedString":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"^(.)+$" + }, + "ByolPricingTerm":{ + "type":"structure", + "members":{ + "type":{ + "shape":"UnversionedTermType", + "documentation":"Type of the term being updated.
" + } + }, + "documentation":"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.
" + }, + "Catalog":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z]+$" + }, + "ConfigurableUpfrontPricingTerm":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"ConfigurableUpfrontPricingTermConfiguration", + "documentation":"Additional parameters specified by the acceptor while accepting the term.
" + }, + "currencyCode":{ + "shape":"CurrencyCode", + "documentation":"Defines the currency for the prices mentioned in the term.
" + }, + "rateCards":{ + "shape":"ConfigurableUpfrontRateCardList", + "documentation":"A rate card defines the per unit rates for product dimensions.
" + }, + "type":{ + "shape":"UnversionedTermType", + "documentation":"Category of selector.
" + } + }, + "documentation":"Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration.
" + }, + "ConfigurableUpfrontPricingTermConfiguration":{ + "type":"structure", + "required":[ + "dimensions", + "selectorValue" + ], + "members":{ + "dimensions":{ + "shape":"DimensionList", + "documentation":"Defines the dimensions that the acceptor has purchased from the overall set of dimensions presented in the rate card.
" + }, + "selectorValue":{ + "shape":"BoundedString", + "documentation":"Defines the length of time for which the particular pricing/dimension is being purchased by the acceptor.
" + } + }, + "documentation":"Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration.
" + }, + "ConfigurableUpfrontRateCardItem":{ + "type":"structure", + "members":{ + "constraints":{ + "shape":"Constraints", + "documentation":"Defines limits on how the term can be configured by acceptors.
" + }, + "rateCard":{ + "shape":"RateCardList", + "documentation":"Defines the per unit rates for product dimensions.
" + }, + "selector":{ + "shape":"Selector", + "documentation":"Differentiates between the mutually exclusive rate cards in the same pricing term to be selected by the buyer.
" + } + }, + "documentation":"Within the prepaid payment model defined under ConfigurableUpfrontPricingTerm
, the RateCardItem
defines all the various rate cards (including pricing and dimensions) that have been proposed.
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
.
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
.
Defines limits on how the term can be configured by acceptors.
" + }, + "CurrencyCode":{ + "type":"string", + "max":3, + "min":3, + "pattern":"^[A-Z]+$" + }, + "DescribeAgreementInput":{ + "type":"structure", + "required":["agreementId"], + "members":{ + "agreementId":{ + "shape":"ResourceId", + "documentation":"The unique identifier of the agreement.
" + } + } + }, + "DescribeAgreementOutput":{ + "type":"structure", + "members":{ + "acceptanceTime":{ + "shape":"Timestamp", + "documentation":"The date and time the offer was accepted or the agreement was created.
AcceptanceTime
and StartTime
can differ for future dated agreements (FDAs).
The details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement
.
The unique identifier of the agreement.
" + }, + "agreementType":{ + "shape":"AgreementType", + "documentation":"The type of agreement. Values are PurchaseAgreement
or VendorInsightsAgreement
.
The date and time when the agreement ends. The field is null
for pay-as-you-go agreements, which don’t have end dates.
The estimated cost of the agreement.
" + }, + "proposalSummary":{ + "shape":"ProposalSummary", + "documentation":"A summary of the proposal received from the proposer.
" + }, + "proposer":{ + "shape":"Proposer", + "documentation":"The details of the party proposing the agreement terms. This is commonly the seller for PurchaseAgreement
.
The date and time when the agreement starts.
" + }, + "status":{ + "shape":"AgreementStatus", + "documentation":"The current status of the agreement.
Statuses include:
ACTIVE
– The terms of the agreement are active.
ARCHIVED
– The agreement ended without a specified reason.
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.
ROLLED_BACK
(Only applicable to inactive agreement revisions) – The agreement revision has been rolled back because of an error. An earlier revision is now active.
SUPERCEDED
(Only applicable to inactive agreement revisions) – The agreement revision is no longer active and another agreement revision is now active.
TERMINATED
– The agreement ended before the defined end date because of an AWS termination (for example, a payment failure).
The name of key value of the dimension.
" + }, + "dimensionValue":{ + "shape":"ZeroValueInteger", + "documentation":"The number of units of the dimension the acceptor has purchased.
For Agreements with ConfigurableUpfrontPricingTerm
, the RateCard
section will define the prices and dimensions defined by the seller (proposer), whereas the Configuration
section will define the actual dimensions, prices, and units the buyer has chosen to accept.
Defines the dimensions that the acceptor has purchased from the overall set of dimensions presented in the rate card.
" + }, + "DimensionList":{ + "type":"list", + "member":{"shape":"Dimension"}, + "min":1 + }, + "DocumentItem":{ + "type":"structure", + "members":{ + "type":{ + "shape":"BoundedString", + "documentation":"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.
A URL to the legal document for buyers to read. Required when Type
is CustomEula
.
Version of standard contracts provided by AWS Marketplace. Required when Type is StandardEula
or StandardDsa
.
Includes the list of references to legal resources proposed by the proposer to the acceptor. Each DocumentItem
refers to an individual reference.
The total known amount customer has to pay across the lifecycle of the agreement.
This is the total contract value if accepted terms contain ConfigurableUpfrontPricingTerm
or FixedUpfrontPricingTerm
. In the case of pure contract pricing, this will be the total value of the contract. In the case of contracts with consumption pricing, this will only include the committed value and not include any overages that occur.
If the accepted terms contain PaymentScheduleTerm
, it will be the total payment schedule amount. This occurs when flexible payment schedule is used, and is the sum of all invoice charges in the payment schedule.
In case a customer has amended an agreement, by purchasing more units of any dimension, this will include both the original cost as well as the added cost incurred due to addition of new units.
This is 0
if the accepted terms contain UsageBasedPricingTerm
without ConfigurableUpfrontPricingTerm
or RecurringPaymentTerm
. This occurs for usage-based pricing (such as SaaS metered or AMI/container hourly or monthly), because the exact usage is not known upfront.
Defines the currency code for the charge.
" + } + }, + "documentation":"Estimated cost of the agreement.
" + }, + "ExceptionMessage":{ + "type":"string", + "max":1024, + "min":1 + }, + "Filter":{ + "type":"structure", + "members":{ + "name":{ + "shape":"FilterName", + "documentation":"The name of the filter.
" + }, + "values":{ + "shape":"FilterValueList", + "documentation":"The filter value.
" + } + }, + "documentation":"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
.
Defines the currency for the prices mentioned in this term.
" + }, + "duration":{ + "shape":"BoundedString", + "documentation":"Contract duration for the terms.
" + }, + "grants":{ + "shape":"GrantList", + "documentation":"Entitlements granted to the acceptor of fixed upfront as part of agreement execution.
" + }, + "price":{ + "shape":"BoundedString", + "documentation":"Fixed amount to be charged to the customer when this term is accepted.
" + }, + "type":{ + "shape":"UnversionedTermType", + "documentation":"Category of the term being updated.
" + } + }, + "documentation":"Defines a prepaid pricing model where the customers are charged a fixed upfront amount.
" + }, + "FreeTrialPricingTerm":{ + "type":"structure", + "members":{ + "duration":{ + "shape":"BoundedString", + "documentation":"Duration of the free trial period (5–31 days).
" + }, + "grants":{ + "shape":"GrantList", + "documentation":"Entitlements granted to the acceptor of a free trial as part of an agreement execution.
" + }, + "type":{ + "shape":"UnversionedTermType", + "documentation":"Category of the term.
" + } + }, + "documentation":"Defines a short-term free pricing model where the buyers aren’t charged anything within a specified limit.
" + }, + "GetAgreementTermsInput":{ + "type":"structure", + "required":["agreementId"], + "members":{ + "agreementId":{ + "shape":"ResourceId", + "documentation":"The unique identifier of the agreement.
" + }, + "maxResults":{ + "shape":"MaxResults", + "documentation":"The maximum number of agreements to return in the response.
" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"A token to specify where to start pagination
" + } + } + }, + "GetAgreementTermsOutput":{ + "type":"structure", + "members":{ + "acceptedTerms":{ + "shape":"AcceptedTermList", + "documentation":"A subset of terms proposed by the proposer that have been accepted by the acceptor as part of the agreement creation.
" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"A token to specify where to start pagination
" + } + } + }, + "GrantItem":{ + "type":"structure", + "members":{ + "dimensionKey":{ + "shape":"BoundedString", + "documentation":"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":{ + "shape":"PositiveIntegerWithDefaultValueOne", + "documentation":"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.
Entitlements granted to the acceptor of fixed upfront as part of agreement execution.
" + }, + "GrantList":{ + "type":"list", + "member":{"shape":"GrantItem"} + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "requestId":{ + "shape":"RequestId", + "documentation":"The unique identifier for the error.
" + } + }, + "documentation":"Unexpected error during processing of request.
", + "exception":true, + "fault":true + }, + "LegalTerm":{ + "type":"structure", + "members":{ + "documents":{ + "shape":"DocumentList", + "documentation":"List of references to legal resources proposed to the buyers. An example is the EULA.
" + }, + "type":{ + "shape":"UnversionedTermType", + "documentation":"Category of the term being updated.
" + } + }, + "documentation":"Defines the list of text agreements proposed to the acceptors. An example is the end user license agreement (EULA).
" + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":8192, + "min":0, + "pattern":"^[a-zA-Z0-9+/=]+$" + }, + "OfferId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^\\S{1,64}$" + }, + "PaymentScheduleTerm":{ + "type":"structure", + "members":{ + "currencyCode":{ + "shape":"CurrencyCode", + "documentation":"Defines the currency for the prices mentioned in the term.
" + }, + "schedule":{ + "shape":"ScheduleList", + "documentation":"List of the payment schedule where each element defines one installment of payment. It contains the information necessary for calculating the price.
" + }, + "type":{ + "shape":"UnversionedTermType", + "documentation":"Type of the term.
" + } + }, + "documentation":"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.
" + }, + "PositiveIntegerWithDefaultValueOne":{ + "type":"integer", + "box":true, + "min":1 + }, + "ProposalSummary":{ + "type":"structure", + "members":{ + "offerId":{ + "shape":"OfferId", + "documentation":"The unique identifier of the offer in AWS Marketplace.
" + }, + "resources":{ + "shape":"Resources", + "documentation":"The list of resources involved in the agreement.
" + } + }, + "documentation":"A summary of the proposal received from the proposer.
" + }, + "Proposer":{ + "type":"structure", + "members":{ + "accountId":{ + "shape":"AWSAccountId", + "documentation":"The AWS account ID of the proposer.
" + } + }, + "documentation":"Details of the party proposing the agreement terms,. This is commonly the seller for PurchaseAgreement
.
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":{ + "shape":"BoundedString", + "documentation":"Per unit price for the product dimension that’s used for calculating the amount to be charged.
" + } + }, + "documentation":"Defines the per unit rates for each individual product dimension.
" + }, + "RateCardList":{ + "type":"list", + "member":{"shape":"RateCardItem"} + }, + "RecurringPaymentTerm":{ + "type":"structure", + "members":{ + "billingPeriod":{ + "shape":"BoundedString", + "documentation":"Defines the recurrence at which buyers are charged.
" + }, + "currencyCode":{ + "shape":"CurrencyCode", + "documentation":"Defines the currency for the prices mentioned in this term.
" + }, + "price":{ + "shape":"BoundedString", + "documentation":"Amount charged to the buyer every billing period.
" + }, + "type":{ + "shape":"UnversionedTermType", + "documentation":"Type of the term being updated.
" + } + }, + "documentation":"Defines a pricing model where customers are charged a fixed recurring price at the end of each billing period.
" + }, + "RenewalTerm":{ + "type":"structure", + "members":{ + "configuration":{ + "shape":"RenewalTermConfiguration", + "documentation":"Additional parameters specified by the acceptor while accepting the term.
" + }, + "type":{ + "shape":"UnversionedTermType", + "documentation":"Category of the term being updated.
" + } + }, + "documentation":"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. The presence of RenewalTerm
in the offer document means that auto-renewal is allowed. Buyers will have the option to accept or decline auto-renewal at the offer acceptance/agreement creation. Buyers can also change this flag from True
to False
or False
to True
at anytime during the agreement's lifecycle.
Defines whether the acceptor has chosen to auto-renew the agreement at the end of its lifecycle. Can be set to True
or False
.
Additional parameters specified by the acceptor while accepting the term.
" + }, + "RequestId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[A-Za-z0-9-]+$" + }, + "Resource":{ + "type":"structure", + "members":{ + "id":{ + "shape":"ResourceId", + "documentation":"The unique identifier of the resource.
We mention the term resource, which is most commonly a product, so a resourceId
is also a productId
.
Type of the resource, which is the product. Values include SaaSProduct
or AmiProduct
.
The list of resources involved in the agreement.
" + }, + "ResourceId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[A-Za-z0-9_/-]+$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "requestId":{ + "shape":"RequestId", + "documentation":"The unique identifier for the error.
" + }, + "resourceId":{ + "shape":"ResourceId", + "documentation":"The unique identifier for the resource.
" + }, + "resourceType":{ + "shape":"ResourceType", + "documentation":"The type of resource.
" + } + }, + "documentation":"Request references a resource which does not exist.
", + "exception":true + }, + "ResourceType":{ + "type":"string", + "enum":["Agreement"] + }, + "Resources":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "ScheduleItem":{ + "type":"structure", + "members":{ + "chargeAmount":{ + "shape":"BoundedString", + "documentation":"The price that the customer would pay on the scheduled date (chargeDate).
" + }, + "chargeDate":{ + "shape":"Timestamp", + "documentation":"The date that the customer would pay the price defined in this payment schedule term. Invoices are generated on the date provided.
" + } + }, + "documentation":"An individual installment of the payment that includes the date and amount of the charge.
" + }, + "ScheduleList":{ + "type":"list", + "member":{"shape":"ScheduleItem"} + }, + "SearchAgreementsInput":{ + "type":"structure", + "members":{ + "catalog":{ + "shape":"Catalog", + "documentation":"The catalog in which the agreement was created.
" + }, + "filters":{ + "shape":"FilterList", + "documentation":"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
, or SaaSProduct
).
PartyType
– The party type (either Acceptor
or Proposer
) of the caller. For agreements where the caller is the proposer, use the Proposer
filter. For agreements where the caller is the acceptor, use the Acceptor
filter.
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
, ARCHIVED
, 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.
AgreementType
– The type of agreement. Values include PurchaseAgreement
or VendorInsightsAgreement
.
The maximum number of agreements to return in the response.
" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"A token to specify where to start pagination.
" + }, + "sort":{ + "shape":"Sort", + "documentation":"An object that contains the SortBy
and SortOrder
attributes.
A summary of the agreement, including top-level attributes (for example, the agreement ID, version, proposer, and acceptor).
" + }, + "nextToken":{ + "shape":"NextToken", + "documentation":"The token used for pagination. The field is null
if there are no more results.
Category of selector.
" + }, + "value":{ + "shape":"BoundedString", + "documentation":"Contract duration. This field supports the ISO 8601 format.
" + } + }, + "documentation":"Differentiates between the mutually exclusive rate cards in the same pricing term to be selected by the buyer.
" + }, + "Sort":{ + "type":"structure", + "members":{ + "sortBy":{ + "shape":"SortBy", + "documentation":"The attribute on which the data is grouped, which can be by StartTime
and EndTime
. The default value is EndTime
.
The sorting order, which can be ASCENDING
or DESCENDING
. The default value is DESCENDING
.
An object that contains the SortBy
and SortOrder
attributes.
Free-text field about the refund policy description that will be shown to customers as is on the website and console.
" + }, + "type":{ + "shape":"UnversionedTermType", + "documentation":"Category of the term being updated.
" + } + }, + "documentation":"Defines the customer support available for the acceptors when they purchase the software.
" + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "requestId":{ + "shape":"RequestId", + "documentation":"The unique identifier for the error.
" + } + }, + "documentation":"Request was denied due to request throttling.
", + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "UnversionedTermType":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"^[A-Za-z]+$" + }, + "UsageBasedPricingTerm":{ + "type":"structure", + "members":{ + "currencyCode":{ + "shape":"CurrencyCode", + "documentation":"Defines the currency for the prices mentioned in the term.
" + }, + "rateCards":{ + "shape":"UsageBasedRateCardList", + "documentation":"List of rate cards.
" + }, + "type":{ + "shape":"UnversionedTermType", + "documentation":"Category of the term.
" + } + }, + "documentation":"Defines a usage-based pricing model (typically, pay-as-you-go pricing), where the customers are charged based on product usage.
" + }, + "UsageBasedRateCardItem":{ + "type":"structure", + "members":{ + "rateCard":{ + "shape":"RateCardList", + "documentation":"Defines the per unit rates for product dimensions.
" + } + }, + "documentation":"Within the pay-as-you-go model defined under UsageBasedPricingTerm
, the UsageBasedRateCardItem
defines an individual rate for a product dimension.
The fields associated with the error.
" + }, + "message":{"shape":"ExceptionMessage"}, + "reason":{ + "shape":"ValidationExceptionReason", + "documentation":"The reason associated with the error.
" + }, + "requestId":{ + "shape":"RequestId", + "documentation":"The unique identifier associated with the error.
" + } + }, + "documentation":"The input fails to satisfy the constraints specified by the service.
", + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "message", + "name" + ], + "members":{ + "message":{ + "shape":"BoundedString", + "documentation":"See applicable actions.
" + }, + "name":{ + "shape":"BoundedString", + "documentation":"The name of the field associated with the error.
" + } + }, + "documentation":"The input fails to satisfy the constraints specified by the service.
" + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "INVALID_AGREEMENT_ID", + "MISSING_AGREEMENT_ID", + "INVALID_CATALOG", + "INVALID_FILTER_NAME", + "INVALID_FILTER_VALUES", + "INVALID_SORT_BY", + "INVALID_SORT_ORDER", + "INVALID_NEXT_TOKEN", + "INVALID_MAX_RESULTS", + "UNSUPPORTED_FILTERS", + "OTHER" + ] + }, + "ValidityTerm":{ + "type":"structure", + "members":{ + "agreementDuration":{ + "shape":"BoundedString", + "documentation":"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.
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.
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.
Category of the term being updated.
" + } + }, + "documentation":"Defines the conditions that will keep an agreement created from this offer valid.
" + }, + "ZeroValueInteger":{ + "type":"integer", + "min":0 + } + }, + "documentation":"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.
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:
DescribeAgreement
– Grants permission to users to obtain detailed meta data about any of their agreements.
GetAgreementTerms
– Grants permission to users to obtain details about the terms of an agreement.
SearchAgreements
– Grants permission to users to search through all their agreements.
A string array of unique entity id values to be filtered on.
" + } + }, + "documentation":"Object that allows filtering on entity id of an AMI product.
" + }, + "AmiProductEntityIdFilterValueList":{ + "type":"list", + "member":{"shape":"AmiProductEntityIdString"}, + "max":10, + "min":1 + }, + "AmiProductEntityIdString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$" + }, + "AmiProductFilters":{ + "type":"structure", + "members":{ + "EntityId":{ + "shape":"AmiProductEntityIdFilter", + "documentation":"Unique identifier for the AMI product.
" + }, + "LastModifiedDate":{ + "shape":"AmiProductLastModifiedDateFilter", + "documentation":"The last date on which the AMI product was modified.
" + }, + "ProductTitle":{ + "shape":"AmiProductTitleFilter", + "documentation":"The title of the AMI product.
" + }, + "Visibility":{ + "shape":"AmiProductVisibilityFilter", + "documentation":"The visibility of the AMI product.
" + } + }, + "documentation":"Object containing all the filter fields for AMI products. Client can add a maximum of 8 filters in a single ListEntities
request.
Dates between which the AMI product was last modified.
" + } + }, + "documentation":"Object that allows filtering based on the last modified date of AMI products.
" + }, + "AmiProductLastModifiedDateFilterDateRange":{ + "type":"structure", + "members":{ + "AfterValue":{ + "shape":"DateTimeISO8601", + "documentation":"Date after which the AMI product was last modified.
" + }, + "BeforeValue":{ + "shape":"DateTimeISO8601", + "documentation":"Date before which the AMI product was last modified.
" + } + }, + "documentation":"Object that contains date range of the last modified date to be filtered on. You can optionally provide a BeforeValue
and/or AfterValue
. Both are inclusive.
Field to sort the AMI products by.
" + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"The sorting order. Can be ASCENDING
or DESCENDING
. The default value is DESCENDING
.
Objects that allows sorting on AMI products based on certain fields and sorting order.
" + }, + "AmiProductSortBy":{ + "type":"string", + "enum":[ + "EntityId", + "LastModifiedDate", + "ProductTitle", + "Visibility" + ] + }, + "AmiProductSummary":{ + "type":"structure", + "members":{ + "ProductTitle":{ + "shape":"AmiProductTitleString", + "documentation":"The title of the AMI product.
" + }, + "Visibility":{ + "shape":"AmiProductVisibilityString", + "documentation":"The lifecycle of the AMI product.
" + } + }, + "documentation":"Object that contains summarized information about an AMI product.
" + }, + "AmiProductTitleFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"AmiProductTitleFilterValueList", + "documentation":"A string array of unique product title values to be filtered on.
" + }, + "WildCardValue":{ + "shape":"AmiProductTitleString", + "documentation":"A string that will be the wildCard
input for product tile filter. It matches the provided value as a substring in the actual value.
Object that allows filtering on product title.
" + }, + "AmiProductTitleFilterValueList":{ + "type":"list", + "member":{"shape":"AmiProductTitleString"}, + "max":10, + "min":1 + }, + "AmiProductTitleString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^(.)+$" + }, + "AmiProductVisibilityFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"AmiProductVisibilityFilterValueList", + "documentation":"A string array of unique visibility values to be filtered on.
" + } + }, + "documentation":"Object that allows filtering on the visibility of the product in the AWS Marketplace.
" + }, + "AmiProductVisibilityFilterValueList":{ + "type":"list", + "member":{"shape":"AmiProductVisibilityString"}, + "max":10, + "min":1 + }, + "AmiProductVisibilityString":{ + "type":"string", + "enum":[ + "Limited", + "Public", + "Restricted", + "Draft" + ] + }, "CancelChangeSetRequest":{ "type":"structure", "required":[ @@ -422,272 +578,326 @@ "min":1, "pattern":"^[!-~]+$" }, - "DateTimeISO8601":{ - "type":"string", - "max":20, - "min":20, - "pattern":"^([\\d]{4})\\-(1[0-2]|0[1-9])\\-(3[01]|0[1-9]|[12][\\d])T(2[0-3]|[01][\\d]):([0-5][\\d]):([0-5][\\d])Z$" - }, - "DeleteResourcePolicyRequest":{ + "ContainerProductEntityIdFilter":{ "type":"structure", - "required":["ResourceArn"], "members":{ - "ResourceArn":{ - "shape":"ResourceARN", - "documentation":"The Amazon Resource Name (ARN) of the entity resource that is associated with the resource policy.
", - "location":"querystring", - "locationName":"resourceArn" + "ValueList":{ + "shape":"ContainerProductEntityIdFilterValueList", + "documentation":"A string array of unique entity id values to be filtered on.
" } - } + }, + "documentation":"Object that allows filtering on entity id of a container product.
" }, - "DeleteResourcePolicyResponse":{ + "ContainerProductEntityIdFilterValueList":{ + "type":"list", + "member":{"shape":"ContainerProductEntityIdString"}, + "max":10, + "min":1 + }, + "ContainerProductEntityIdString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$" + }, + "ContainerProductFilters":{ "type":"structure", "members":{ - } + "EntityId":{ + "shape":"ContainerProductEntityIdFilter", + "documentation":"Unique identifier for the container product.
" + }, + "LastModifiedDate":{ + "shape":"ContainerProductLastModifiedDateFilter", + "documentation":"The last date on which the container product was modified.
" + }, + "ProductTitle":{ + "shape":"ContainerProductTitleFilter", + "documentation":"The title of the container product.
" + }, + "Visibility":{ + "shape":"ContainerProductVisibilityFilter", + "documentation":"The visibility of the container product.
" + } + }, + "documentation":"Object containing all the filter fields for container products. Client can add a maximum of 8 filters in a single ListEntities
request.
Required. The catalog related to the request. Fixed value: AWSMarketplace
Required. The unique identifier for the StartChangeSet
request that you want to describe the details for.
Dates between which the container product was last modified.
" } - } + }, + "documentation":"Object that allows filtering based on the last modified date of container products.
" }, - "DescribeChangeSetResponse":{ + "ContainerProductLastModifiedDateFilterDateRange":{ "type":"structure", "members":{ - "ChangeSetId":{ - "shape":"ResourceId", - "documentation":"Required. The unique identifier for the change set referenced in this request.
" - }, - "ChangeSetArn":{ - "shape":"ARN", - "documentation":"The ARN associated with the unique identifier for the change set referenced in this request.
" - }, - "ChangeSetName":{ - "shape":"ChangeSetName", - "documentation":"The optional name provided in the StartChangeSet
request. If you do not provide a name, one is set by default.
The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request started.
" + "documentation":"Date after which the container product was last modified.
" }, - "EndTime":{ + "BeforeValue":{ "shape":"DateTimeISO8601", - "documentation":"The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request transitioned to a terminal state. The change cannot transition to a different state. Null if the request is not in a terminal state.
" - }, - "Status":{ - "shape":"ChangeStatus", - "documentation":"The status of the change request.
" - }, - "FailureCode":{ - "shape":"FailureCode", - "documentation":"Returned if the change set is in FAILED
status. Can be either CLIENT_ERROR
, which means that there are issues with the request (see the ErrorDetailList
), or SERVER_FAULT
, which means that there is a problem in the system, and you should retry your request.
Returned if there is a failure on the change set, but that failure is not related to any of the changes in the request.
" - }, - "ChangeSet":{ - "shape":"ChangeSetDescription", - "documentation":"An array of ChangeSummary
objects.
Date before which the container product was last modified.
" } - } + }, + "documentation":"Object that contains date range of the last modified date to be filtered on. You can optionally provide a BeforeValue
and/or AfterValue
. Both are inclusive.
Required. The catalog related to the request. Fixed value: AWSMarketplace
Field to sort the container products by.
" }, - "EntityId":{ - "shape":"ResourceId", - "documentation":"Required. The unique ID of the entity to describe.
", - "location":"querystring", - "locationName":"entityId" + "SortOrder":{ + "shape":"SortOrder", + "documentation":"The sorting order. Can be ASCENDING
or DESCENDING
. The default value is DESCENDING
.
Objects that allows sorting on container products based on certain fields and sorting order.
" }, - "DescribeEntityResponse":{ + "ContainerProductSortBy":{ + "type":"string", + "enum":[ + "EntityId", + "LastModifiedDate", + "ProductTitle", + "Visibility" + ] + }, + "ContainerProductSummary":{ "type":"structure", "members":{ - "EntityType":{ - "shape":"EntityType", - "documentation":"The named type of the entity, in the format of EntityType@Version
.
The identifier of the entity, in the format of EntityId@RevisionId
.
The ARN associated to the unique identifier for the entity referenced in this request.
" - }, - "LastModifiedDate":{ - "shape":"DateTimeISO8601", - "documentation":"The last modified date of the entity, in ISO 8601 format (2018-02-27T13:45:22Z).
" - }, - "Details":{ - "shape":"Json", - "documentation":"This stringified JSON object includes the details of the entity.
" + "ProductTitle":{ + "shape":"ContainerProductTitleString", + "documentation":"The title of the container product.
" }, - "DetailsDocument":{ - "shape":"JsonDocumentType", - "documentation":"The JSON value of the details specific to the entity.
" + "Visibility":{ + "shape":"ContainerProductVisibilityString", + "documentation":"The lifecycle of the product.
" } - } + }, + "documentation":"Object that contains summarized information about a container product.
" }, - "Entity":{ + "ContainerProductTitleFilter":{ "type":"structure", - "required":["Type"], "members":{ - "Type":{ - "shape":"EntityType", - "documentation":"The type of entity.
" + "ValueList":{ + "shape":"ContainerProductTitleFilterValueList", + "documentation":"A string array of unique product title values to be filtered on.
" }, - "Identifier":{ - "shape":"Identifier", - "documentation":"The identifier for the entity.
" + "WildCardValue":{ + "shape":"ContainerProductTitleString", + "documentation":"A string that will be the wildCard
input for product tile filter. It matches the provided value as a substring in the actual value.
An entity contains data that describes your product, its supported features, and how it can be used or launched by your customer.
" + "documentation":"Object that allows filtering on product title.
" }, - "EntityNameString":{ + "ContainerProductTitleFilterValueList":{ + "type":"list", + "member":{"shape":"ContainerProductTitleString"}, + "max":10, + "min":1 + }, + "ContainerProductTitleString":{ "type":"string", "max":255, "min":1, - "pattern":"^\\\\S+[\\\\S\\\\s]*" + "pattern":"^(.)+$" }, - "EntitySummary":{ + "ContainerProductVisibilityFilter":{ "type":"structure", "members":{ - "Name":{ - "shape":"EntityNameString", - "documentation":"The name for the entity. This value is not unique. It is defined by the seller.
" - }, - "EntityType":{ - "shape":"EntityType", - "documentation":"The type of the entity.
" - }, - "EntityId":{ - "shape":"ResourceId", - "documentation":"The unique identifier for the entity.
" - }, - "EntityArn":{ - "shape":"ARN", - "documentation":"The ARN associated with the unique identifier for the entity.
" - }, - "LastModifiedDate":{ - "shape":"DateTimeISO8601", - "documentation":"The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z).
" - }, - "Visibility":{ - "shape":"VisibilityValue", - "documentation":"The visibility status of the entity to buyers. This value can be Public
(everyone can view the entity), Limited
(the entity is visible to limited accounts only), or Restricted
(the entity was published and then unpublished and only existing buyers can view it).
A string array of unique visibility values to be filtered on.
" } }, - "documentation":"This object is a container for common summary information about the entity. The summary doesn't contain the whole entity structure, but it does contain information common across all entities.
" + "documentation":"Object that allows filtering on the visibility of the product in the AWS Marketplace.
" }, - "EntitySummaryList":{ + "ContainerProductVisibilityFilterValueList":{ "type":"list", - "member":{"shape":"EntitySummary"} + "member":{"shape":"ContainerProductVisibilityString"}, + "max":10, + "min":1 }, - "EntityType":{ + "ContainerProductVisibilityString":{ "type":"string", - "max":255, - "min":1, - "pattern":"^[a-zA-Z]+$" + "enum":[ + "Limited", + "Public", + "Restricted", + "Draft" + ] }, - "ErrorCodeString":{ + "DataProductEntityIdFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"DataProductEntityIdFilterValueList", + "documentation":"A string array of unique entity id values to be filtered on.
" + } + }, + "documentation":"Object that allows filtering on entity id of a data product.
" + }, + "DataProductEntityIdFilterValueList":{ + "type":"list", + "member":{"shape":"DataProductEntityIdString"}, + "max":10, + "min":1 + }, + "DataProductEntityIdString":{ "type":"string", - "max":72, + "max":255, "min":1, - "pattern":"^[a-zA-Z_]+$" + "pattern":"^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$" }, - "ErrorDetail":{ + "DataProductFilters":{ "type":"structure", "members":{ - "ErrorCode":{ - "shape":"ErrorCodeString", - "documentation":"The error code that identifies the type of error.
" + "EntityId":{ + "shape":"DataProductEntityIdFilter", + "documentation":"Unique identifier for the data product.
" }, - "ErrorMessage":{ - "shape":"ExceptionMessageContent", - "documentation":"The message for the error.
" + "ProductTitle":{ + "shape":"DataProductTitleFilter", + "documentation":"The title of the data product.
" + }, + "Visibility":{ + "shape":"DataProductVisibilityFilter", + "documentation":"The visibility of the data product.
" + }, + "LastModifiedDate":{ + "shape":"DataProductLastModifiedDateFilter", + "documentation":"The last date on which the data product was modified.
" } }, - "documentation":"Details about the error.
" + "documentation":"Object containing all the filter fields for data products. Client can add a maximum of 8 filters in a single ListEntities
request.
Dates between which the data product was last modified.
" + } + }, + "documentation":"Object that allows filtering based on the last modified date of data products.
" }, - "ExceptionMessageContent":{ - "type":"string", - "max":2048, - "min":1, - "pattern":"^(.)+$" + "DataProductLastModifiedDateFilterDateRange":{ + "type":"structure", + "members":{ + "AfterValue":{ + "shape":"DateTimeISO8601", + "documentation":"Date after which the data product was last modified.
" + }, + "BeforeValue":{ + "shape":"DateTimeISO8601", + "documentation":"Date before which the data product was last modified.
" + } + }, + "documentation":"Object that contains date range of the last modified date to be filtered on. You can optionally provide a BeforeValue
and/or AfterValue
. Both are inclusive.
Field to sort the data products by.
" + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"The sorting order. Can be ASCENDING
or DESCENDING
. The default value is DESCENDING
.
Objects that allows sorting on data products based on certain fields and sorting order.
" + }, + "DataProductSortBy":{ "type":"string", "enum":[ - "CLIENT_ERROR", - "SERVER_FAULT" + "EntityId", + "ProductTitle", + "Visibility", + "LastModifiedDate" ] }, - "Filter":{ + "DataProductSummary":{ "type":"structure", "members":{ - "Name":{ - "shape":"FilterName", - "documentation":"For ListEntities
, the supported value for this is an EntityId
.
For ListChangeSets
, the supported values are as follows:
The title of the data product.
" }, + "Visibility":{ + "shape":"DataProductVisibilityString", + "documentation":"The lifecycle of the data product.
" + } + }, + "documentation":"Object that contains summarized information about a data product.
" + }, + "DataProductTitleFilter":{ + "type":"structure", + "members":{ "ValueList":{ - "shape":"ValueList", - "documentation":" ListEntities
- This is a list of unique EntityId
s.
ListChangeSets
- The supported filter names and associated ValueList
s is as follows:
ChangeSetName
- The supported ValueList
is a list of non-unique ChangeSetName
s. These are defined when you call the StartChangeSet
action.
Status
- The supported ValueList
is a list of statuses for all change set requests.
EntityId
- The supported ValueList
is a list of unique EntityId
s.
BeforeStartTime
- The supported ValueList
is a list of all change sets that started before the filter value.
AfterStartTime
- The supported ValueList
is a list of all change sets that started after the filter value.
BeforeEndTime
- The supported ValueList
is a list of all change sets that ended before the filter value.
AfterEndTime
- The supported ValueList
is a list of all change sets that ended after the filter value.
A string array of unique product title values to be filtered on.
" + }, + "WildCardValue":{ + "shape":"DataProductTitleString", + "documentation":"A string that will be the wildCard
input for product tile filter. It matches the provided value as a substring in the actual value.
A filter object, used to optionally filter results from calls to the ListEntities
and ListChangeSets
actions.
Object that allows filtering on product title.
" }, - "FilterList":{ + "DataProductTitleFilterValueList":{ "type":"list", - "member":{"shape":"Filter"}, - "max":8, + "member":{"shape":"DataProductTitleString"}, + "max":10, "min":1 }, - "FilterName":{ + "DataProductTitleString":{ "type":"string", "max":255, "min":1, - "pattern":"^[a-zA-Z]+$" + "pattern":"^(.)+$" }, - "FilterValueContent":{ + "DataProductVisibilityFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"DataProductVisibilityFilterValueList", + "documentation":"A string array of unique visibility values to be filtered on.
" + } + }, + "documentation":"Object that allows filtering on the visibility of the product in the AWS Marketplace.
" + }, + "DataProductVisibilityFilterValueList":{ + "type":"list", + "member":{"shape":"DataProductVisibilityString"}, + "max":10, + "min":1 + }, + "DataProductVisibilityString":{ "type":"string", - "max":255, - "min":1, - "pattern":"^(.)+$" + "enum":[ + "Limited", + "Public", + "Restricted", + "Unavailable", + "Draft" + ] }, - "GetResourcePolicyRequest":{ + "DateTimeISO8601":{ + "type":"string", + "max":20, + "min":20, + "pattern":"^([\\d]{4})\\-(1[0-2]|0[1-9])\\-(3[01]|0[1-9]|[12][\\d])T(2[0-3]|[01][\\d]):([0-5][\\d]):([0-5][\\d])Z$" + }, + "DeleteResourcePolicyRequest":{ "type":"structure", "required":["ResourceArn"], "members":{ @@ -699,208 +909,1413 @@ } } }, - "GetResourcePolicyResponse":{ + "DeleteResourcePolicyResponse":{ "type":"structure", "members":{ - "Policy":{ - "shape":"ResourcePolicyJson", - "documentation":"The policy document to set; formatted in JSON.
" - } } }, - "Identifier":{ - "type":"string", - "max":255, - "min":1, - "pattern":"^[\\w\\-@]+$" - }, - "InternalServiceException":{ - "type":"structure", - "members":{ - "Message":{"shape":"ExceptionMessageContent"} - }, - "documentation":"There was an internal service exception.
HTTP status code: 500
", - "error":{"httpStatusCode":500}, - "exception":true, - "synthetic":true - }, - "Json":{ - "type":"string", - "max":16384, - "min":2, - "pattern":"^[\\s]*\\{[\\s\\S]*\\}[\\s]*$" - }, - "JsonDocumentType":{ + "DescribeChangeSetRequest":{ "type":"structure", + "required":[ + "Catalog", + "ChangeSetId" + ], "members":{ - }, - "document":true - }, - "ListChangeSetsMaxResultInteger":{ - "type":"integer", - "box":true, - "max":20, - "min":1 + "Catalog":{ + "shape":"Catalog", + "documentation":"Required. The catalog related to the request. Fixed value: AWSMarketplace
Required. The unique identifier for the StartChangeSet
request that you want to describe the details for.
The catalog related to the request. Fixed value: AWSMarketplace
Required. The unique identifier for the change set referenced in this request.
" }, - "FilterList":{ - "shape":"FilterList", - "documentation":"An array of filter objects.
" + "ChangeSetArn":{ + "shape":"ARN", + "documentation":"The ARN associated with the unique identifier for the change set referenced in this request.
" }, - "Sort":{ - "shape":"Sort", - "documentation":"An object that contains two attributes, SortBy
and SortOrder
.
The optional name provided in the StartChangeSet
request. If you do not provide a name, one is set by default.
The maximum number of results returned by a single call. This value must be provided in the next call to retrieve the next set of results. By default, this value is 20.
" + "StartTime":{ + "shape":"DateTimeISO8601", + "documentation":"The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request started.
" }, - "NextToken":{ - "shape":"NextToken", - "documentation":"The token value retrieved from a previous call to access the next page of results.
" + "EndTime":{ + "shape":"DateTimeISO8601", + "documentation":"The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request transitioned to a terminal state. The change cannot transition to a different state. Null if the request is not in a terminal state.
" + }, + "Status":{ + "shape":"ChangeStatus", + "documentation":"The status of the change request.
" + }, + "FailureCode":{ + "shape":"FailureCode", + "documentation":"Returned if the change set is in FAILED
status. Can be either CLIENT_ERROR
, which means that there are issues with the request (see the ErrorDetailList
), or SERVER_FAULT
, which means that there is a problem in the system, and you should retry your request.
Returned if there is a failure on the change set, but that failure is not related to any of the changes in the request.
" + }, + "ChangeSet":{ + "shape":"ChangeSetDescription", + "documentation":"An array of ChangeSummary
objects.
Array of ChangeSetSummaryListItem
objects.
Required. The catalog related to the request. Fixed value: AWSMarketplace
The value of the next token, if it exists. Null if there are no more results.
" + "EntityId":{ + "shape":"ResourceId", + "documentation":"Required. The unique ID of the entity to describe.
", + "location":"querystring", + "locationName":"entityId" } } }, - "ListEntitiesMaxResultInteger":{ - "type":"integer", + "DescribeEntityResponse":{ + "type":"structure", + "members":{ + "EntityType":{ + "shape":"EntityType", + "documentation":"The named type of the entity, in the format of EntityType@Version
.
The identifier of the entity, in the format of EntityId@RevisionId
.
The ARN associated to the unique identifier for the entity referenced in this request.
" + }, + "LastModifiedDate":{ + "shape":"DateTimeISO8601", + "documentation":"The last modified date of the entity, in ISO 8601 format (2018-02-27T13:45:22Z).
" + }, + "Details":{ + "shape":"Json", + "documentation":"This stringified JSON object includes the details of the entity.
" + }, + "DetailsDocument":{ + "shape":"JsonDocumentType", + "documentation":"The JSON value of the details specific to the entity.
" + } + } + }, + "Entity":{ + "type":"structure", + "required":["Type"], + "members":{ + "Type":{ + "shape":"EntityType", + "documentation":"The type of entity.
" + }, + "Identifier":{ + "shape":"Identifier", + "documentation":"The identifier for the entity.
" + } + }, + "documentation":"An entity contains data that describes your product, its supported features, and how it can be used or launched by your customer.
" + }, + "EntityNameString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^\\\\S+[\\\\S\\\\s]*" + }, + "EntitySummary":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"EntityNameString", + "documentation":"The name for the entity. This value is not unique. It is defined by the seller.
" + }, + "EntityType":{ + "shape":"EntityType", + "documentation":"The type of the entity.
" + }, + "EntityId":{ + "shape":"ResourceId", + "documentation":"The unique identifier for the entity.
" + }, + "EntityArn":{ + "shape":"ARN", + "documentation":"The ARN associated with the unique identifier for the entity.
" + }, + "LastModifiedDate":{ + "shape":"DateTimeISO8601", + "documentation":"The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z).
" + }, + "Visibility":{ + "shape":"VisibilityValue", + "documentation":"The visibility status of the entity to buyers. This value can be Public
(everyone can view the entity), Limited
(the entity is visible to limited accounts only), or Restricted
(the entity was published and then unpublished and only existing buyers can view it).
An object that contains summary information about the AMI product.
" + }, + "ContainerProductSummary":{ + "shape":"ContainerProductSummary", + "documentation":"An object that contains summary information about the container product.
" + }, + "DataProductSummary":{ + "shape":"DataProductSummary", + "documentation":"An object that contains summary information about the data product.
" + }, + "SaaSProductSummary":{ + "shape":"SaaSProductSummary", + "documentation":"An object that contains summary information about the SaaS product.
" + }, + "OfferSummary":{ + "shape":"OfferSummary", + "documentation":"An object that contains summary information about the offer.
" + }, + "ResaleAuthorizationSummary":{ + "shape":"ResaleAuthorizationSummary", + "documentation":"An object that contains summary information about the Resale Authorization.
" + } + }, + "documentation":"This object is a container for common summary information about the entity. The summary doesn't contain the whole entity structure, but it does contain information common across all entities.
" + }, + "EntitySummaryList":{ + "type":"list", + "member":{"shape":"EntitySummary"} + }, + "EntityType":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z]+$" + }, + "EntityTypeFilters":{ + "type":"structure", + "members":{ + "DataProductFilters":{ + "shape":"DataProductFilters", + "documentation":"A filter for data products.
" + }, + "SaaSProductFilters":{ + "shape":"SaaSProductFilters", + "documentation":"A filter for SaaS products.
" + }, + "AmiProductFilters":{ + "shape":"AmiProductFilters", + "documentation":"A filter for AMI products.
" + }, + "OfferFilters":{ + "shape":"OfferFilters", + "documentation":"A filter for offers.
" + }, + "ContainerProductFilters":{ + "shape":"ContainerProductFilters", + "documentation":"A filter for container products.
" + }, + "ResaleAuthorizationFilters":{ + "shape":"ResaleAuthorizationFilters", + "documentation":"A filter for Resale Authorizations.
" + } + }, + "documentation":"Object containing all the filter fields per entity type.
", + "union":true + }, + "EntityTypeSort":{ + "type":"structure", + "members":{ + "DataProductSort":{ + "shape":"DataProductSort", + "documentation":"A sort for data products.
" + }, + "SaaSProductSort":{ + "shape":"SaaSProductSort", + "documentation":"A sort for SaaS products.
" + }, + "AmiProductSort":{ + "shape":"AmiProductSort", + "documentation":"A sort for AMI products.
" + }, + "OfferSort":{ + "shape":"OfferSort", + "documentation":"A sort for offers.
" + }, + "ContainerProductSort":{ + "shape":"ContainerProductSort", + "documentation":"A sort for container products.
" + }, + "ResaleAuthorizationSort":{ + "shape":"ResaleAuthorizationSort", + "documentation":"A sort for Resale Authorizations.
" + } + }, + "documentation":"Object containing all the sort fields per entity type.
", + "union":true + }, + "ErrorCodeString":{ + "type":"string", + "max":72, + "min":1, + "pattern":"^[a-zA-Z_]+$" + }, + "ErrorDetail":{ + "type":"structure", + "members":{ + "ErrorCode":{ + "shape":"ErrorCodeString", + "documentation":"The error code that identifies the type of error.
" + }, + "ErrorMessage":{ + "shape":"ExceptionMessageContent", + "documentation":"The message for the error.
" + } + }, + "documentation":"Details about the error.
" + }, + "ErrorDetailList":{ + "type":"list", + "member":{"shape":"ErrorDetail"} + }, + "ExceptionMessageContent":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^(.)+$" + }, + "FailureCode":{ + "type":"string", + "enum":[ + "CLIENT_ERROR", + "SERVER_FAULT" + ] + }, + "Filter":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"FilterName", + "documentation":"For ListEntities
, the supported value for this is an EntityId
.
For ListChangeSets
, the supported values are as follows:
ListEntities
- This is a list of unique EntityId
s.
ListChangeSets
- The supported filter names and associated ValueList
s is as follows:
ChangeSetName
- The supported ValueList
is a list of non-unique ChangeSetName
s. These are defined when you call the StartChangeSet
action.
Status
- The supported ValueList
is a list of statuses for all change set requests.
EntityId
- The supported ValueList
is a list of unique EntityId
s.
BeforeStartTime
- The supported ValueList
is a list of all change sets that started before the filter value.
AfterStartTime
- The supported ValueList
is a list of all change sets that started after the filter value.
BeforeEndTime
- The supported ValueList
is a list of all change sets that ended before the filter value.
AfterEndTime
- The supported ValueList
is a list of all change sets that ended after the filter value.
A filter object, used to optionally filter results from calls to the ListEntities
and ListChangeSets
actions.
The Amazon Resource Name (ARN) of the entity resource that is associated with the resource policy.
", + "location":"querystring", + "locationName":"resourceArn" + } + } + }, + "GetResourcePolicyResponse":{ + "type":"structure", + "members":{ + "Policy":{ + "shape":"ResourcePolicyJson", + "documentation":"The policy document to set; formatted in JSON.
" + } + } + }, + "Identifier":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[\\w\\-@]+$" + }, + "InternalServiceException":{ + "type":"structure", + "members":{ + "Message":{"shape":"ExceptionMessageContent"} + }, + "documentation":"There was an internal service exception.
HTTP status code: 500
", + "error":{"httpStatusCode":500}, + "exception":true, + "synthetic":true + }, + "Json":{ + "type":"string", + "max":16384, + "min":2, + "pattern":"^[\\s]*\\{[\\s\\S]*\\}[\\s]*$" + }, + "JsonDocumentType":{ + "type":"structure", + "members":{ + }, + "document":true + }, + "ListChangeSetsMaxResultInteger":{ + "type":"integer", "box":true, - "max":50, + "max":20, "min":1 }, - "ListEntitiesRequest":{ + "ListChangeSetsRequest":{ + "type":"structure", + "required":["Catalog"], + "members":{ + "Catalog":{ + "shape":"Catalog", + "documentation":"The catalog related to the request. Fixed value: AWSMarketplace
An array of filter objects.
" + }, + "Sort":{ + "shape":"Sort", + "documentation":"An object that contains two attributes, SortBy
and SortOrder
.
The maximum number of results returned by a single call. This value must be provided in the next call to retrieve the next set of results. By default, this value is 20.
" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"The token value retrieved from a previous call to access the next page of results.
" + } + } + }, + "ListChangeSetsResponse":{ + "type":"structure", + "members":{ + "ChangeSetSummaryList":{ + "shape":"ChangeSetSummaryList", + "documentation":" Array of ChangeSetSummaryListItem
objects.
The value of the next token, if it exists. Null if there are no more results.
" + } + } + }, + "ListEntitiesMaxResultInteger":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, + "ListEntitiesRequest":{ + "type":"structure", + "required":[ + "Catalog", + "EntityType" + ], + "members":{ + "Catalog":{ + "shape":"Catalog", + "documentation":"The catalog related to the request. Fixed value: AWSMarketplace
The type of entities to retrieve. Valid values are: ServerProduct
, AmiProduct
, ContainerProduct
, DataProduct
, SaaSProduct
, ProcurementPolicy
, Experience
, Audience
, BrandingSettings
, Offer
, Seller
, ResaleAuthorization
.
An array of filter objects. Each filter object contains two attributes, filterName
and filterValues
.
An object that contains two attributes, SortBy
and SortOrder
.
The value of the next token, if it exists. Null if there are no more results.
" + }, + "MaxResults":{ + "shape":"ListEntitiesMaxResultInteger", + "documentation":"Specifies the upper limit of the elements on a single page. If a value isn't provided, the default value is 20.
" + }, + "OwnershipType":{ + "shape":"OwnershipType", + "documentation":"Filters the returned set of entities based on their owner. The default is SELF
. To list entities shared with you through AWS Resource Access Manager (AWS RAM), set to SHARED
. Entities shared through the AWS Marketplace Catalog API PutResourcePolicy
operation can't be discovered through the SHARED
parameter.
A Union object containing filter shapes for all EntityType
s. Each EntityTypeFilter
shape will have filters applicable for that EntityType
that can be used to search or filter entities.
A Union object containing Sort
shapes for all EntityType
s. Each EntityTypeSort
shape will have SortBy
and SortOrder
applicable for fields on that EntityType
. This can be used to sort the results of the filter query.
Array of EntitySummary
objects.
The value of the next token if it exists. Null if there is no more result.
" + } + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{ + "shape":"ResourceARN", + "documentation":"Required. The Amazon Resource Name (ARN) associated with the resource you want to list tags on.
" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "ResourceArn":{ + "shape":"ResourceARN", + "documentation":"Required. The ARN associated with the resource you want to list tags on.
" + }, + "Tags":{ + "shape":"TagList", + "documentation":"Required. A list of objects specifying each key name and value. Number of objects allowed: 1-50.
" + } + } + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[\\w+=.:@\\-\\/]$" + }, + "OfferAvailabilityEndDateFilter":{ + "type":"structure", + "members":{ + "DateRange":{ + "shape":"OfferAvailabilityEndDateFilterDateRange", + "documentation":"Allows filtering on the AvailabilityEndDate
of an offer with date range as input.
Allows filtering on the AvailabilityEndDate
of an offer.
Allows filtering on the AvailabilityEndDate
of an offer after a date.
Allows filtering on the AvailabilityEndDate
of an offer before a date.
Allows filtering on the AvailabilityEndDate
of an offer with date range as input.
Allows filtering on the BuyerAccounts
of an offer with wild card input.
Allows filtering on the BuyerAccounts
of an offer.
Allows filtering on entity id of an offer with list input.
" + } + }, + "documentation":"Allows filtering on the entity id of an offer.
" + }, + "OfferEntityIdFilterValueList":{ + "type":"list", + "member":{"shape":"OfferEntityIdString"}, + "max":10, + "min":1 + }, + "OfferEntityIdString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$" + }, + "OfferFilters":{ + "type":"structure", + "members":{ + "EntityId":{ + "shape":"OfferEntityIdFilter", + "documentation":"Allows filtering on EntityId
of an offer.
Allows filtering on the Name
of an offer.
Allows filtering on the ProductId
of an offer.
Allows filtering on the ReleaseDate
of an offer.
Allows filtering on the AvailabilityEndDate
of an offer.
Allows filtering on the BuyerAccounts
of an offer.
Allows filtering on the State
of an offer.
Allows filtering on the Targeting
of an offer.
Allows filtering on the LastModifiedDate
of an offer.
A filter for offers entity.
" + }, + "OfferLastModifiedDateFilter":{ + "type":"structure", + "members":{ + "DateRange":{ + "shape":"OfferLastModifiedDateFilterDateRange", + "documentation":"Allows filtering on the LastModifiedDate
of an offer with date range as input.
Allows filtering on the LastModifiedDate
of an offer.
Allows filtering on the LastModifiedDate
of an offer after a date.
Allows filtering on the LastModifiedDate
of an offer before a date.
Allows filtering on the LastModifiedDate
of an offer with date range as input.
Allows filtering on the Name
of an offer with list input.
Allows filtering on the Name
of an offer with wild card input.
Allows filtering on the Name
of an offer.
Allows filtering on the ProductId
of an offer with list input.
Allows filtering on the ProductId
of an offer.
Allows filtering on the ReleaseDate
of an offer with date range as input.
Allows filtering on the ReleaseDate
of an offer.
Allows filtering on the ReleaseDate
of offers after a date.
Allows filtering on the ReleaseDate
of offers before a date.
Allows filtering on the ReleaseDate
of an offer with date range as input.
Allows to sort offers.
" + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"Allows to sort offers.
" + } + }, + "documentation":"Allows to sort offers.
" + }, + "OfferSortBy":{ + "type":"string", + "enum":[ + "EntityId", + "Name", + "ProductId", + "ReleaseDate", + "AvailabilityEndDate", + "BuyerAccounts", + "State", + "Targeting", + "LastModifiedDate" + ] + }, + "OfferStateFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"OfferStateFilterValueList", + "documentation":"Allows filtering on the State
of an offer with list input.
Allows filtering on the State
of an offer.
The name of the offer.
" + }, + "ProductId":{ + "shape":"OfferProductIdString", + "documentation":"The product ID of the offer.
" + }, + "ReleaseDate":{ + "shape":"DateTimeISO8601", + "documentation":"The release date of the offer.
" + }, + "AvailabilityEndDate":{ + "shape":"DateTimeISO8601", + "documentation":"The availability end date of the offer.
" + }, + "BuyerAccounts":{ + "shape":"OfferBuyerAccountsList", + "documentation":"The buyer accounts in the offer.
" + }, + "State":{ + "shape":"OfferStateString", + "documentation":"The status of the offer.
" + }, + "Targeting":{ + "shape":"OfferTargetingList", + "documentation":"The targeting in the offer.
" + } + }, + "documentation":"Summarized information about an offer.
" + }, + "OfferTargetingFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"OfferTargetingFilterValueList", + "documentation":"Allows filtering on the Targeting
of an offer with list input.
Allows filtering on the Targeting
of an offer.
The Amazon Resource Name (ARN) of the entity resource you want to associate with a resource policy.
" + }, + "Policy":{ + "shape":"ResourcePolicyJson", + "documentation":"The policy document to set; formatted in JSON.
" + } + } + }, + "PutResourcePolicyResponse":{ + "type":"structure", + "members":{ + } + }, + "RequestedChangeList":{ + "type":"list", + "member":{"shape":"Change"}, + "max":20, + "min":1 + }, + "ResaleAuthorizationAvailabilityEndDateFilter":{ + "type":"structure", + "members":{ + "DateRange":{ + "shape":"ResaleAuthorizationAvailabilityEndDateFilterDateRange", + "documentation":"Allows filtering on AvailabilityEndDate
of a ResaleAuthorization with date range as input
Allows filtering on AvailabilityEndDate
of a ResaleAuthorization with date value as input.
Allows filtering on AvailabilityEndDate
of a ResaleAuthorization.
Allows filtering on AvailabilityEndDate
of a ResaleAuthorization after a date.
Allows filtering on AvailabilityEndDate
of a ResaleAuthorization before a date.
Allows filtering on AvailabilityEndDate
of a ResaleAuthorization with date range as input.
Allows filtering on CreatedDate
of a ResaleAuthorization with date range as input.
Allows filtering on CreatedDate
of a ResaleAuthorization with date value as input.
Allows filtering on CreatedDate
of a ResaleAuthorization.
Allows filtering on CreatedDate
of a ResaleAuthorization after a date.
Allows filtering on CreatedDate
of a ResaleAuthorization before a date.
Allows filtering on CreatedDate
of a ResaleAuthorization with date range as input.
Allows filtering on EntityId
of a ResaleAuthorization with list input.
Allows filtering on EntityId
of a ResaleAuthorization.
Allows filtering on the EntityId
of a ResaleAuthorization.
Allows filtering on the Name
of a ResaleAuthorization.
Allows filtering on the ProductId
of a ResaleAuthorization.
Allows filtering on the CreatedDate
of a ResaleAuthorization.
Allows filtering on the AvailabilityEndDate
of a ResaleAuthorization.
Allows filtering on the ManufacturerAccountId
of a ResaleAuthorization.
Allows filtering on the ProductName
of a ResaleAuthorization.
Allows filtering on the ManufacturerLegalName
of a ResaleAuthorization.
Allows filtering on the ResellerAccountID
of a ResaleAuthorization.
Allows filtering on the ResellerLegalName
of a ResaleAuthorization.
Allows filtering on the Status
of a ResaleAuthorization.
Allows filtering on the OfferExtendedStatus
of a ResaleAuthorization.
Allows filtering on the LastModifiedDate
of a ResaleAuthorization.
A filter for ResaleAuthorization entity.
" + }, + "ResaleAuthorizationLastModifiedDateFilter":{ + "type":"structure", + "members":{ + "DateRange":{ + "shape":"ResaleAuthorizationLastModifiedDateFilterDateRange", + "documentation":"Allows filtering on the LastModifiedDate
of a ResaleAuthorization with date range as input.
Allows filtering on the LastModifiedDate
of a ResaleAuthorization.
Allows filtering on the LastModifiedDate
of a ResaleAuthorization after a date.
Allows filtering on the LastModifiedDate
of a ResaleAuthorization before a date.
Allows filtering on the LastModifiedDate
of a ResaleAuthorization with date range as input.
Allows filtering on the ManufacturerAccountId
of a ResaleAuthorization with list input.
Allows filtering on the ManufacturerAccountId
of a ResaleAuthorization with wild card input.
Allows filtering on the ManufacturerAccountId
of a ResaleAuthorization.
Allows filtering on the ManufacturerLegalName
of a ResaleAuthorization with list input.
Allows filtering on the ManufacturerLegalName
of a ResaleAuthorization with wild card input.
Allows filtering on the ManufacturerLegalName
of a ResaleAuthorization.
Allows filtering on the Name
of a ResaleAuthorization with list input.
Allows filtering on the Name
of a ResaleAuthorization with wild card input.
Allows filtering on the Name
of a ResaleAuthorization.
Allows filtering on the OfferExtendedStatus
of a ResaleAuthorization with list input.
Allows filtering on the OfferExtendedStatus
of a ResaleAuthorization.
The catalog related to the request. Fixed value: AWSMarketplace
The type of entities to retrieve.
" - }, - "FilterList":{ - "shape":"FilterList", - "documentation":"An array of filter objects. Each filter object contains two attributes, filterName
and filterValues
.
An object that contains two attributes, SortBy
and SortOrder
.
The value of the next token, if it exists. Null if there are no more results.
" - }, - "MaxResults":{ - "shape":"ListEntitiesMaxResultInteger", - "documentation":"Specifies the upper limit of the elements on a single page. If a value isn't provided, the default value is 20.
" + "ValueList":{ + "shape":"ResaleAuthorizationProductIdFilterValueList", + "documentation":"Allows filtering on the ProductId
of a ResaleAuthorization with list input.
Filters the returned set of entities based on their owner. The default is SELF
. To list entities shared with you through AWS Resource Access Manager (AWS RAM), set to SHARED
. Entities shared through the AWS Marketplace Catalog API PutResourcePolicy
operation can't be discovered through the SHARED
parameter.
Allows filtering on the ProductId
of a ResaleAuthorization with wild card input.
Allows filtering on the ProductId
of a ResaleAuthorization.
Array of EntitySummary
object.
Allows filtering on the ProductName
of a ResaleAuthorization with list input.
The value of the next token if it exists. Null if there is no more result.
" + "WildCardValue":{ + "shape":"ResaleAuthorizationProductNameFilterWildcard", + "documentation":"Allows filtering on the ProductName
of a ResaleAuthorization with wild card input.
Allows filtering on the ProductName
of a ResaleAuthorization.
Required. The Amazon Resource Name (ARN) associated with the resource you want to list tags on.
" + "ValueList":{ + "shape":"ResaleAuthorizationResellerAccountIDFilterValueList", + "documentation":"Allows filtering on the ResellerAccountID
of a ResaleAuthorization with list input.
Allows filtering on the ResellerAccountID
of a ResaleAuthorization with wild card input.
Allows filtering on the ResellerAccountID
of a ResaleAuthorization.
Required. The ARN associated with the resource you want to list tags on.
" + "ValueList":{ + "shape":"ResaleAuthorizationResellerLegalNameFilterValueList", + "documentation":"Allows filtering on the ResellerLegalNameProductName of a ResaleAuthorization with list input.
" }, - "Tags":{ - "shape":"TagList", - "documentation":"Required. A list of objects specifying each key name and value. Number of objects allowed: 1-50.
" + "WildCardValue":{ + "shape":"ResaleAuthorizationResellerLegalNameFilterWildcard", + "documentation":"Allows filtering on the ResellerLegalName of a ResaleAuthorization with wild card input.
" } - } + }, + "documentation":"Allows filtering on the ResellerLegalName of a ResaleAuthorization.
" }, - "NextToken":{ + "ResaleAuthorizationResellerLegalNameFilterValueList":{ + "type":"list", + "member":{"shape":"ResaleAuthorizationResellerLegalNameString"}, + "max":10, + "min":1 + }, + "ResaleAuthorizationResellerLegalNameFilterWildcard":{ "type":"string", - "max":2048, + "max":255, "min":1, - "pattern":"^[\\w+=.:@\\-\\/]$" + "pattern":"^(.)+$" }, - "OwnershipType":{ + "ResaleAuthorizationResellerLegalNameString":{ "type":"string", - "enum":[ - "SELF", - "SHARED" - ] + "max":255, + "min":1, + "pattern":"^(.)+$" }, - "PutResourcePolicyRequest":{ + "ResaleAuthorizationSort":{ "type":"structure", - "required":[ - "ResourceArn", - "Policy" - ], "members":{ - "ResourceArn":{ - "shape":"ResourceARN", - "documentation":"The Amazon Resource Name (ARN) of the entity resource you want to associate with a resource policy.
" + "SortBy":{ + "shape":"ResaleAuthorizationSortBy", + "documentation":"Allows to sort ResaleAuthorization.
" }, - "Policy":{ - "shape":"ResourcePolicyJson", - "documentation":"The policy document to set; formatted in JSON.
" + "SortOrder":{ + "shape":"SortOrder", + "documentation":"Allows to sort ResaleAuthorization.
" } - } + }, + "documentation":"Allows to sort ResaleAuthorization.
" }, - "PutResourcePolicyResponse":{ + "ResaleAuthorizationSortBy":{ + "type":"string", + "enum":[ + "EntityId", + "Name", + "ProductId", + "ProductName", + "ManufacturerAccountId", + "ManufacturerLegalName", + "ResellerAccountID", + "ResellerLegalName", + "Status", + "OfferExtendedStatus", + "CreatedDate", + "AvailabilityEndDate", + "LastModifiedDate" + ] + }, + "ResaleAuthorizationStatusFilter":{ "type":"structure", "members":{ - } + "ValueList":{ + "shape":"ResaleAuthorizationStatusFilterValueList", + "documentation":"Allows filtering on the Status
of a ResaleAuthorization with list input.
Allows filtering on the Status
of a ResaleAuthorization.
The name of the ResaleAuthorization.
" + }, + "ProductId":{ + "shape":"ResaleAuthorizationProductIdString", + "documentation":"The product ID of the ResaleAuthorization.
" + }, + "ProductName":{ + "shape":"ResaleAuthorizationProductNameString", + "documentation":"The product name of the ResaleAuthorization.
" + }, + "ManufacturerAccountId":{ + "shape":"ResaleAuthorizationManufacturerAccountIdString", + "documentation":"The manufacturer account ID of the ResaleAuthorization.
" + }, + "ManufacturerLegalName":{ + "shape":"ResaleAuthorizationManufacturerLegalNameString", + "documentation":"The manufacturer legal name of the ResaleAuthorization.
" + }, + "ResellerAccountID":{ + "shape":"ResaleAuthorizationResellerAccountIDString", + "documentation":"The reseller account ID of the ResaleAuthorization.
" + }, + "ResellerLegalName":{ + "shape":"ResaleAuthorizationResellerLegalNameString", + "documentation":"The reseller legal name of the ResaleAuthorization
" + }, + "Status":{ + "shape":"ResaleAuthorizationStatusString", + "documentation":"The status of the ResaleAuthorization.
" + }, + "OfferExtendedStatus":{ + "shape":"ResaleAuthorizationOfferExtendedStatusString", + "documentation":"The offer extended status of the ResaleAuthorization
" + }, + "CreatedDate":{ + "shape":"DateTimeISO8601", + "documentation":"The created date of the ResaleAuthorization.
" + }, + "AvailabilityEndDate":{ + "shape":"DateTimeISO8601", + "documentation":"The availability end date of the ResaleAuthorization.
" + } + }, + "documentation":"Summarized information about a Resale Authorization.
" + }, "ResourceARN":{ "type":"string", "max":255, @@ -953,6 +2368,162 @@ "min":1, "pattern":"^[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+$" }, + "SaaSProductEntityIdFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"SaaSProductEntityIdFilterValueList", + "documentation":"A string array of unique entity id values to be filtered on.
" + } + }, + "documentation":"Object that allows filtering on entity id of a SaaS product.
" + }, + "SaaSProductEntityIdFilterValueList":{ + "type":"list", + "member":{"shape":"SaaSProductEntityIdString"}, + "max":10, + "min":1 + }, + "SaaSProductEntityIdString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$" + }, + "SaaSProductFilters":{ + "type":"structure", + "members":{ + "EntityId":{ + "shape":"SaaSProductEntityIdFilter", + "documentation":"Unique identifier for the SaaS product.
" + }, + "ProductTitle":{ + "shape":"SaaSProductTitleFilter", + "documentation":"The title of the SaaS product.
" + }, + "Visibility":{ + "shape":"SaaSProductVisibilityFilter", + "documentation":"The visibility of the SaaS product.
" + }, + "LastModifiedDate":{ + "shape":"SaaSProductLastModifiedDateFilter", + "documentation":"The last date on which the SaaS product was modified.
" + } + }, + "documentation":"Object containing all the filter fields for SaaS products. Client can add a maximum of 8 filters in a single ListEntities
request.
Dates between which the SaaS product was last modified.
" + } + }, + "documentation":"Object that allows filtering based on the last modified date of SaaS products
" + }, + "SaaSProductLastModifiedDateFilterDateRange":{ + "type":"structure", + "members":{ + "AfterValue":{ + "shape":"DateTimeISO8601", + "documentation":"Date after which the SaaS product was last modified.
" + }, + "BeforeValue":{ + "shape":"DateTimeISO8601", + "documentation":"Date before which the SaaS product was last modified.
" + } + }, + "documentation":"Object that contains date range of the last modified date to be filtered on. You can optionally provide a BeforeValue
and/or AfterValue
. Both are inclusive.
Field to sort the SaaS products by.
" + }, + "SortOrder":{ + "shape":"SortOrder", + "documentation":"The sorting order. Can be ASCENDING
or DESCENDING
. The default value is DESCENDING
.
Objects that allows sorting on SaaS products based on certain fields and sorting order.
" + }, + "SaaSProductSortBy":{ + "type":"string", + "enum":[ + "EntityId", + "ProductTitle", + "Visibility", + "LastModifiedDate" + ] + }, + "SaaSProductSummary":{ + "type":"structure", + "members":{ + "ProductTitle":{ + "shape":"SaaSProductTitleString", + "documentation":"The title of the SaaS product.
" + }, + "Visibility":{ + "shape":"SaaSProductVisibilityString", + "documentation":"The lifecycle of the SaaS product.
" + } + }, + "documentation":"Object that contains summarized information about a SaaS product.
" + }, + "SaaSProductTitleFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"SaaSProductTitleFilterValueList", + "documentation":"A string array of unique product title values to be filtered on.
" + }, + "WildCardValue":{ + "shape":"SaaSProductTitleString", + "documentation":"A string that will be the wildCard
input for product tile filter. It matches the provided value as a substring in the actual value.
Object that allows filtering on product title.
" + }, + "SaaSProductTitleFilterValueList":{ + "type":"list", + "member":{"shape":"SaaSProductTitleString"}, + "max":10, + "min":1 + }, + "SaaSProductTitleString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^(.)+$" + }, + "SaaSProductVisibilityFilter":{ + "type":"structure", + "members":{ + "ValueList":{ + "shape":"SaaSProductVisibilityFilterValueList", + "documentation":"A string array of unique visibility values to be filtered on.
" + } + }, + "documentation":"Object that allows filtering on the visibility of the product in the AWS Marketplace.
" + }, + "SaaSProductVisibilityFilterValueList":{ + "type":"list", + "member":{"shape":"SaaSProductVisibilityString"}, + "max":10, + "min":1 + }, + "SaaSProductVisibilityString":{ + "type":"string", + "enum":[ + "Limited", + "Public", + "Restricted", + "Draft" + ] + }, "ServiceQuotaExceededException":{ "type":"structure", "members":{ diff --git a/botocore/data/marketplace-deployment/2023-01-25/endpoint-rule-set-1.json b/botocore/data/marketplace-deployment/2023-01-25/endpoint-rule-set-1.json new file mode 100644 index 0000000000..2e3cbf85da --- /dev/null +++ b/botocore/data/marketplace-deployment/2023-01-25/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://deployment-marketplace-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://deployment-marketplace-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://deployment-marketplace.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://deployment-marketplace.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/botocore/data/marketplace-deployment/2023-01-25/paginators-1.json b/botocore/data/marketplace-deployment/2023-01-25/paginators-1.json new file mode 100644 index 0000000000..ea142457a6 --- /dev/null +++ b/botocore/data/marketplace-deployment/2023-01-25/paginators-1.json @@ -0,0 +1,3 @@ +{ + "pagination": {} +} diff --git a/botocore/data/marketplace-deployment/2023-01-25/service-2.json b/botocore/data/marketplace-deployment/2023-01-25/service-2.json new file mode 100644 index 0000000000..c6a1b02a68 --- /dev/null +++ b/botocore/data/marketplace-deployment/2023-01-25/service-2.json @@ -0,0 +1,433 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-01-25", + "endpointPrefix":"deployment-marketplace", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS Marketplace Deployment Service", + "serviceId":"Marketplace Deployment", + "signatureVersion":"v4", + "signingName":"aws-marketplace", + "uid":"marketplace-deployment-2023-01-25" + }, + "operations":{ + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"Lists all tags that have been added to a deployment parameter resource.
" + }, + "PutDeploymentParameter":{ + "name":"PutDeploymentParameter", + "http":{ + "method":"POST", + "requestUri":"/catalogs/{catalog}/products/{productId}/deployment-parameters", + "responseCode":200 + }, + "input":{"shape":"PutDeploymentParameterRequest"}, + "output":{"shape":"PutDeploymentParameterResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"Creates or updates a deployment parameter and is targeted by catalog
and agreementId
.
Tags a resource.
" + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":204 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ], + "documentation":"Removes a tag or list of tags from a resource.
", + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"You do not have sufficient access to perform this action.
", + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "Catalog":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z_-]+$" + }, + "ClientToken":{ + "type":"string", + "max":64, + "min":32, + "pattern":"^[a-zA-Z0-9/_+=.:@-]+$" + }, + "ConflictException":{ + "type":"structure", + "required":[ + "message", + "resourceId" + ], + "members":{ + "message":{"shape":"String"}, + "resourceId":{ + "shape":"ResourceId", + "documentation":"The unique identifier for the resource associated with the error.
" + } + }, + "documentation":"The request configuration has conflicts. For details, see the accompanying error message.
", + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "DeploymentParameterInput":{ + "type":"structure", + "required":[ + "name", + "secretString" + ], + "members":{ + "name":{ + "shape":"DeploymentParameterName", + "documentation":"The desired name of the deployment parameter. This is the identifier on which deployment parameters are keyed for a given buyer and product. If this name matches an existing deployment parameter, this request will update the existing resource.
" + }, + "secretString":{ + "shape":"SecretString", + "documentation":"The text to encrypt and store in the secret.
" + } + }, + "documentation":"The shape containing the requested deployment parameter name and secretString.
" + }, + "DeploymentParameterName":{ + "type":"string", + "max":400, + "min":1, + "pattern":"^[a-zA-Z0-9/_+=.@-]+$" + }, + "DeploymentParameterResourceIdentifier":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^dp-[a-zA-Z0-9]+$" + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"There was an internal service exception.
", + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"The Amazon Resource Name (ARN) associated with the deployment parameter resource you want to list tags on.
", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{ + "shape":"Tags", + "documentation":"A map of key-value pairs, where each pair represents a tag present on the resource.
" + } + } + }, + "PutDeploymentParameterRequest":{ + "type":"structure", + "required":[ + "agreementId", + "catalog", + "deploymentParameter", + "productId" + ], + "members":{ + "agreementId":{ + "shape":"ResourceId", + "documentation":"The unique identifier of the agreement.
" + }, + "catalog":{ + "shape":"Catalog", + "documentation":"The catalog related to the request. Fixed value: AWS Marketplace
The idempotency token for deployment parameters. A unique identifier for the new version.
", + "idempotencyToken":true + }, + "deploymentParameter":{ + "shape":"DeploymentParameterInput", + "documentation":"The deployment parameter targeted to the acceptor of an agreement for which to create the AWS Secret Manager resource.
" + }, + "expirationDate":{ + "shape":"SyntheticTimestamp_date_time", + "documentation":"The date when deployment parameters expire and are scheduled for deletion.
" + }, + "productId":{ + "shape":"ResourceId", + "documentation":"The product for which AWS Marketplace will save secrets for the buyer’s account.
", + "location":"uri", + "locationName":"productId" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"A map of key-value pairs, where each pair represents a tag saved to the resource. Tags will only be applied for create operations, and they'll be ignored if the resource already exists.
" + } + } + }, + "PutDeploymentParameterResponse":{ + "type":"structure", + "required":[ + "agreementId", + "deploymentParameterId", + "resourceArn" + ], + "members":{ + "agreementId":{ + "shape":"ResourceId", + "documentation":"The unique identifier of the agreement.
" + }, + "deploymentParameterId":{ + "shape":"DeploymentParameterResourceIdentifier", + "documentation":"The unique identifier of the deployment parameter.
" + }, + "resourceArn":{ + "shape":"ResourceArn", + "documentation":"The Amazon Resource Name (ARN) associated with the deployment parameter resource you want to create or update.
" + }, + "tags":{ + "shape":"TagsMap", + "documentation":"A map of key-value pairs, where each pair represents a tag saved to the resource. Tags will only be applied for create operations, and they'll be ignored if the resource already exists.
" + } + } + }, + "ResourceArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[a-zA-Z0-9:*/-]+$" + }, + "ResourceId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[A-Za-z0-9_/-]+$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"The specified resource wasn't found.
", + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "SecretString":{ + "type":"string", + "max":15000, + "min":1, + "sensitive":true + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"The maximum number of requests per account has been exceeded.
", + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SyntheticTimestamp_date_time":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9/_+=.:@-]+$" + }, + "TagResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"The Amazon Resource Name (ARN) associated with the resource you want to tag.
", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{ + "shape":"Tags", + "documentation":"A map of key-value pairs, where each pair represents a tag present on the resource.
" + } + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[a-zA-Z0-9/_+=.:@-]+$" + }, + "Tags":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "TagsMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":0 + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "documentation":"Too many requests.
", + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "documentation":"The Amazon Resource Name (ARN) associated with the resource you want to remove the tag from.
", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"StringList", + "documentation":"A list of key names of tags to be removed.
", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "required":[ + "fieldName", + "message" + ], + "members":{ + "fieldName":{ + "shape":"String", + "documentation":"The field name associated with the error.
" + }, + "message":{"shape":"String"} + }, + "documentation":"An error occurred during validation.
", + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + }, + "documentation":"The AWS Marketplace Deployment Service supports the Quick Launch experience, which is a deployment option for software as a service (SaaS) products. Quick Launch simplifies and reduces the time, resources, and steps required to configure, deploy, and launch a products. The AWS Marketplace Deployment Service provides sellers with a secure method for passing deployment parameters (for example, API keys and external IDs) to buyers during the Quick Launch experience.
" +} diff --git a/botocore/data/redshift-serverless/2021-04-21/paginators-1.json b/botocore/data/redshift-serverless/2021-04-21/paginators-1.json index c8f2687419..3c07bc6244 100644 --- a/botocore/data/redshift-serverless/2021-04-21/paginators-1.json +++ b/botocore/data/redshift-serverless/2021-04-21/paginators-1.json @@ -47,6 +47,18 @@ "output_token": "nextToken", "limit_key": "maxResults", "result_key": "associations" + }, + "ListScheduledActions": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "scheduledActions" + }, + "ListSnapshotCopyConfigurations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "snapshotCopyConfigurations" } } } diff --git a/botocore/data/redshift-serverless/2021-04-21/service-2.json b/botocore/data/redshift-serverless/2021-04-21/service-2.json index dc968ed1f6..d7ffabcc38 100644 --- a/botocore/data/redshift-serverless/2021-04-21/service-2.json +++ b/botocore/data/redshift-serverless/2021-04-21/service-2.json @@ -85,6 +85,23 @@ "documentation":"Creates a namespace in Amazon Redshift Serverless.
", "idempotent":true }, + "CreateScheduledAction":{ + "name":"CreateScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateScheduledActionRequest"}, + "output":{"shape":"CreateScheduledActionResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"} + ], + "documentation":"Creates a scheduled action. A scheduled action contains a schedule and an Amazon Redshift API action. For example, you can create a schedule of when to run the CreateSnapshot
API operation.
Creates a snapshot of all databases in a namespace. For more information about snapshots, see Working with snapshots and recovery points.
", "idempotent":true }, + "CreateSnapshotCopyConfiguration":{ + "name":"CreateSnapshotCopyConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSnapshotCopyConfigurationRequest"}, + "output":{"shape":"CreateSnapshotCopyConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "documentation":"Creates a snapshot copy configuration that lets you copy snapshots to another Amazon Web Services Region.
", + "idempotent":true + }, "CreateUsageLimit":{ "name":"CreateUsageLimit", "http":{ @@ -208,6 +244,22 @@ ], "documentation":"Deletes the specified resource policy.
" }, + "DeleteScheduledAction":{ + "name":"DeleteScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteScheduledActionRequest"}, + "output":{"shape":"DeleteScheduledActionResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"Deletes a scheduled action.
", + "idempotent":true + }, "DeleteSnapshot":{ "name":"DeleteSnapshot", "http":{ @@ -225,6 +277,24 @@ "documentation":"Deletes a snapshot from Amazon Redshift Serverless.
", "idempotent":true }, + "DeleteSnapshotCopyConfiguration":{ + "name":"DeleteSnapshotCopyConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSnapshotCopyConfigurationRequest"}, + "output":{"shape":"DeleteSnapshotCopyConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"Deletes a snapshot copy configuration
", + "idempotent":true + }, "DeleteUsageLimit":{ "name":"DeleteUsageLimit", "http":{ @@ -354,6 +424,21 @@ ], "documentation":"Returns a resource policy.
" }, + "GetScheduledAction":{ + "name":"GetScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetScheduledActionRequest"}, + "output":{"shape":"GetScheduledActionResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"Returns information about a scheduled action.
" + }, "GetSnapshot":{ "name":"GetSnapshot", "http":{ @@ -475,6 +560,39 @@ ], "documentation":"Returns an array of recovery points.
" }, + "ListScheduledActions":{ + "name":"ListScheduledActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListScheduledActionsRequest"}, + "output":{"shape":"ListScheduledActionsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidPaginationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "documentation":"Returns a list of scheduled actions. You can use the flags to filter the list of returned scheduled actions.
" + }, + "ListSnapshotCopyConfigurations":{ + "name":"ListSnapshotCopyConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSnapshotCopyConfigurationsRequest"}, + "output":{"shape":"ListSnapshotCopyConfigurationsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidPaginationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"} + ], + "documentation":"Returns a list of snapshot copy configurations.
" + }, "ListSnapshots":{ "name":"ListSnapshots", "http":{ @@ -603,6 +721,22 @@ "documentation":"Restores a namespace from a snapshot.
", "idempotent":true }, + "RestoreTableFromRecoveryPoint":{ + "name":"RestoreTableFromRecoveryPoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreTableFromRecoveryPointRequest"}, + "output":{"shape":"RestoreTableFromRecoveryPointResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"} + ], + "documentation":"Restores a table from a recovery point to your Amazon Redshift Serverless instance. You can't use this operation to restore tables with interleaved sort keys.
" + }, "RestoreTableFromSnapshot":{ "name":"RestoreTableFromSnapshot", "http":{ @@ -703,6 +837,23 @@ ], "documentation":"Updates a namespace with the specified settings. Unless required, you can't update multiple parameters in one request. For example, you must specify both adminUsername
and adminUserPassword
to update either field, but you can't update both kmsKeyId
and logExports
in a single request.
Updates a scheduled action.
", + "idempotent":true + }, "UpdateSnapshot":{ "name":"UpdateSnapshot", "http":{ @@ -719,6 +870,23 @@ ], "documentation":"Updates a snapshot.
" }, + "UpdateSnapshotCopyConfiguration":{ + "name":"UpdateSnapshotCopyConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSnapshotCopyConfigurationRequest"}, + "output":{"shape":"UpdateSnapshotCopyConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "documentation":"Updates a snapshot copy configuration.
" + }, "UpdateUsageLimit":{ "name":"UpdateUsageLimit", "http":{ @@ -807,7 +975,7 @@ "members":{ "parameterKey":{ "shape":"ParameterKey", - "documentation":"The key of the parameter. The options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
, query_group
, search_path
, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see Query monitoring metrics for Amazon Redshift Serverless.
The key of the parameter. The options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
, query_group
, search_path
, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see Query monitoring metrics for Amazon Redshift Serverless.
The name of the VPC endpoint. An endpoint name must contain 1-30 characters. Valid characters are A-Z, a-z, 0-9, and hyphen(-). The first character must be a letter. The name can't contain two consecutive hyphens or end with a hyphen.
" }, + "ownerAccount":{ + "shape":"OwnerAccount", + "documentation":"The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.
" + }, "subnetIds":{ "shape":"SubnetIdList", "documentation":"The unique identifers of subnets from which Amazon Redshift Serverless chooses one to deploy a VPC endpoint.
" @@ -1004,6 +1176,95 @@ } } }, + "CreateScheduledActionRequest":{ + "type":"structure", + "required":[ + "namespaceName", + "roleArn", + "schedule", + "scheduledActionName", + "targetAction" + ], + "members":{ + "enabled":{ + "shape":"Boolean", + "documentation":"Indicates whether the schedule is enabled. If false, the scheduled action does not trigger. For more information about state
of the scheduled action, see ScheduledAction.
The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.
" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"The name of the namespace for which to create a scheduled action.
" + }, + "roleArn":{ + "shape":"IamRoleArn", + "documentation":"The ARN of the IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift Serverless API operation in the scheduled action. This IAM role must allow the Amazon Redshift scheduler to schedule creating snapshots. (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for Amazon Redshift in the Amazon Redshift Cluster Management Guide
" + }, + "schedule":{ + "shape":"Schedule", + "documentation":"The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The description of the scheduled action.
" + }, + "scheduledActionName":{ + "shape":"ScheduledActionName", + "documentation":"The name of the scheduled action.
" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.
" + }, + "targetAction":{"shape":"TargetAction"} + } + }, + "CreateScheduledActionResponse":{ + "type":"structure", + "members":{ + "scheduledAction":{ + "shape":"ScheduledActionResponse", + "documentation":"The returned ScheduledAction
object that describes the properties of a scheduled action.
The KMS key to use to encrypt your snapshots in the destination Amazon Web Services Region.
" + }, + "destinationRegion":{ + "shape":"String", + "documentation":"The destination Amazon Web Services Region that you want to copy snapshots to.
" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"The name of the namespace to copy snapshots from.
" + }, + "snapshotRetentionPeriod":{ + "shape":"Integer", + "documentation":"The retention period of the snapshots that you copy to the destination Amazon Web Services Region.
" + } + } + }, + "CreateSnapshotCopyConfigurationResponse":{ + "type":"structure", + "required":["snapshotCopyConfiguration"], + "members":{ + "snapshotCopyConfiguration":{ + "shape":"SnapshotCopyConfiguration", + "documentation":"The snapshot copy configuration object that is returned.
" + } + } + }, "CreateSnapshotRequest":{ "type":"structure", "required":[ @@ -1038,6 +1299,32 @@ } } }, + "CreateSnapshotScheduleActionParameters":{ + "type":"structure", + "required":[ + "namespaceName", + "snapshotNamePrefix" + ], + "members":{ + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"The name of the namespace for which you want to configure a scheduled action to create a snapshot.
" + }, + "retentionPeriod":{ + "shape":"Integer", + "documentation":"The retention period of the snapshot created by the scheduled action.
" + }, + "snapshotNamePrefix":{ + "shape":"SnapshotNamePrefix", + "documentation":"A string prefix that is attached to the name of the snapshot created by the scheduled action. The final name of the snapshot is the string prefix appended by the date and time of when the snapshot was created.
" + }, + "tags":{ + "shape":"TagList", + "documentation":"An array of Tag objects to associate with the snapshot.
" + } + }, + "documentation":"The parameters that you can use to configure a scheduled action to create a snapshot. For more information about creating a scheduled action, see CreateScheduledAction.
" + }, "CreateUsageLimitRequest":{ "type":"structure", "required":[ @@ -1090,7 +1377,7 @@ }, "configParameters":{ "shape":"ConfigParameterList", - "documentation":"An array of parameters to set for advanced control over a database. The options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
, query_group
, search_path
, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see Query monitoring metrics for Amazon Redshift Serverless.
An array of parameters to set for advanced control over a database. The options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
, query_group
, search_path
, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see Query monitoring metrics for Amazon Redshift Serverless.
The name of the scheduled action to delete.
" + } + } + }, + "DeleteScheduledActionResponse":{ + "type":"structure", + "members":{ + "scheduledAction":{ + "shape":"ScheduledActionResponse", + "documentation":"The deleted scheduled action object.
" + } + } + }, + "DeleteSnapshotCopyConfigurationRequest":{ + "type":"structure", + "required":["snapshotCopyConfigurationId"], + "members":{ + "snapshotCopyConfigurationId":{ + "shape":"String", + "documentation":"The ID of the snapshot copy configuration to delete.
" + } + } + }, + "DeleteSnapshotCopyConfigurationResponse":{ + "type":"structure", + "required":["snapshotCopyConfiguration"], + "members":{ + "snapshotCopyConfiguration":{ + "shape":"SnapshotCopyConfiguration", + "documentation":"The deleted snapshot copy configuration object.
" + } + } + }, "DeleteSnapshotRequest":{ "type":"structure", "required":["snapshotName"], @@ -1531,6 +1857,25 @@ } } }, + "GetScheduledActionRequest":{ + "type":"structure", + "required":["scheduledActionName"], + "members":{ + "scheduledActionName":{ + "shape":"ScheduledActionName", + "documentation":"The name of the scheduled action.
" + } + } + }, + "GetScheduledActionResponse":{ + "type":"structure", + "members":{ + "scheduledAction":{ + "shape":"ScheduledActionResponse", + "documentation":"The returned scheduled action object.
" + } + } + }, "GetSnapshotRequest":{ "type":"structure", "members":{ @@ -1708,6 +2053,10 @@ "shape":"String", "documentation":"If your initial ListEndpointAccess
operation returns a nextToken
, you can include the returned nextToken
in following ListEndpointAccess
operations, which returns results in the next page.
The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.
" + }, "vpcId":{ "shape":"String", "documentation":"The unique identifier of the virtual private cloud with access to Amazon Redshift Serverless.
" @@ -1821,6 +2170,81 @@ } } }, + "ListScheduledActionsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListScheduledActionsRequestMaxResultsInteger", + "documentation":"An optional parameter that specifies the maximum number of results to return. Use nextToken
to display the next page of results.
The name of namespace associated with the scheduled action to retrieve.
" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"If nextToken
is returned, there are more results available. The value of nextToken
is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.
If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.
" + }, + "scheduledActions":{ + "shape":"ScheduledActionsList", + "documentation":"All of the returned scheduled action objects.
" + } + } + }, + "ListSnapshotCopyConfigurationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListSnapshotCopyConfigurationsRequestMaxResultsInteger", + "documentation":"An optional parameter that specifies the maximum number of results to return. You can use nextToken
to display the next page of results.
The namespace from which to list all snapshot copy configurations.
" + }, + "nextToken":{ + "shape":"PaginationToken", + "documentation":"If nextToken
is returned, there are more results available. The value of nextToken
is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.
If nextToken
is returned, there are more results available. The value of nextToken
is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page.
All of the returned snapshot copy configurations.
" + } + } + }, "ListSnapshotsRequest":{ "type":"structure", "members":{ @@ -1986,6 +2410,10 @@ "nextToken":{ "shape":"String", "documentation":"If your initial ListWorkgroups operation returns a nextToken
, you can include the returned nextToken
in following ListNamespaces operations, which returns results in the next page.
The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.
" } } }, @@ -2129,6 +2557,16 @@ "type":"list", "member":{"shape":"NetworkInterface"} }, + "NextInvocationsList":{ + "type":"list", + "member":{"shape":"Timestamp"} + }, + "OwnerAccount":{ + "type":"string", + "max":12, + "min":1, + "pattern":"(\\d{12})" + }, "PaginationToken":{ "type":"string", "max":1024, @@ -2314,6 +2752,65 @@ } } }, + "RestoreTableFromRecoveryPointRequest":{ + "type":"structure", + "required":[ + "namespaceName", + "newTableName", + "recoveryPointId", + "sourceDatabaseName", + "sourceTableName", + "workgroupName" + ], + "members":{ + "activateCaseSensitiveIdentifier":{ + "shape":"Boolean", + "documentation":"Indicates whether name identifiers for database, schema, and table are case sensitive. If true, the names are case sensitive. If false, the names are not case sensitive. The default is false.
" + }, + "namespaceName":{ + "shape":"String", + "documentation":"Namespace of the recovery point to restore from.
" + }, + "newTableName":{ + "shape":"String", + "documentation":"The name of the table to create from the restore operation.
" + }, + "recoveryPointId":{ + "shape":"String", + "documentation":"The ID of the recovery point to restore the table from.
" + }, + "sourceDatabaseName":{ + "shape":"String", + "documentation":"The name of the source database that contains the table being restored.
" + }, + "sourceSchemaName":{ + "shape":"String", + "documentation":"The name of the source schema that contains the table being restored.
" + }, + "sourceTableName":{ + "shape":"String", + "documentation":"The name of the source table being restored.
" + }, + "targetDatabaseName":{ + "shape":"String", + "documentation":"The name of the database to restore the table to.
" + }, + "targetSchemaName":{ + "shape":"String", + "documentation":"The name of the schema to restore the table to.
" + }, + "workgroupName":{ + "shape":"String", + "documentation":"The workgroup to restore the table to.
" + } + } + }, + "RestoreTableFromRecoveryPointResponse":{ + "type":"structure", + "members":{ + "tableRestoreStatus":{"shape":"TableRestoreStatus"} + } + }, "RestoreTableFromSnapshotRequest":{ "type":"structure", "required":[ @@ -2376,6 +2873,78 @@ } } }, + "Schedule":{ + "type":"structure", + "members":{ + "at":{ + "shape":"Timestamp", + "documentation":"The timestamp of when Amazon Redshift Serverless should run the scheduled action. Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
The cron expression to use to schedule a recurring scheduled action. Schedule invocations must be separated by at least one hour.
Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The schedule of when Amazon Redshift Serverless should run the scheduled action.
", + "union":true + }, + "ScheduledActionName":{ + "type":"string", + "max":60, + "min":3, + "pattern":"^[a-z0-9-]+$" + }, + "ScheduledActionResponse":{ + "type":"structure", + "members":{ + "endTime":{ + "shape":"Timestamp", + "documentation":"The end time of
" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.
" + }, + "nextInvocations":{ + "shape":"NextInvocationsList", + "documentation":"An array of timestamps of when the next scheduled actions will trigger.
" + }, + "roleArn":{ + "shape":"IamRoleArn", + "documentation":"The ARN of the IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift Serverless API operation in the scheduled action. This IAM role must allow the Amazon Redshift scheduler to schedule creating snapshots. (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for Amazon Redshift in the Amazon Redshift Cluster Management Guide
" + }, + "schedule":{ + "shape":"Schedule", + "documentation":"The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The description of the scheduled action.
" + }, + "scheduledActionName":{ + "shape":"ScheduledActionName", + "documentation":"The name of the scheduled action.
" + }, + "scheduledActionUuid":{ + "shape":"String", + "documentation":"The uuid of the scheduled action.
" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.
" + }, + "state":{ + "shape":"State", + "documentation":"The state of the scheduled action.
" + }, + "targetAction":{"shape":"TargetAction"} + }, + "documentation":"The returned scheduled action object.
" + }, + "ScheduledActionsList":{ + "type":"list", + "member":{"shape":"ScheduledActionName"} + }, "SecurityGroupId":{"type":"string"}, "SecurityGroupIdList":{ "type":"list", @@ -2484,10 +3053,51 @@ }, "documentation":"A snapshot object that contains databases.
" }, + "SnapshotCopyConfiguration":{ + "type":"structure", + "members":{ + "destinationKmsKeyId":{ + "shape":"KmsKeyId", + "documentation":"The ID of the KMS key to use to encrypt your snapshots in the destination Amazon Web Services Region.
" + }, + "destinationRegion":{ + "shape":"String", + "documentation":"The destination Amazon Web Services Region to copy snapshots to.
" + }, + "namespaceName":{ + "shape":"NamespaceName", + "documentation":"The name of the namespace to copy snapshots from in the source Amazon Web Services Region.
" + }, + "snapshotCopyConfigurationArn":{ + "shape":"String", + "documentation":"The ARN of the snapshot copy configuration object.
" + }, + "snapshotCopyConfigurationId":{ + "shape":"String", + "documentation":"The ID of the snapshot copy configuration object.
" + }, + "snapshotRetentionPeriod":{ + "shape":"Integer", + "documentation":"The retention period of snapshots that are copied to the destination Amazon Web Services Region.
" + } + }, + "documentation":"The object that you configure to copy snapshots from one namespace to a namespace in another Amazon Web Services Region.
" + }, + "SnapshotCopyConfigurations":{ + "type":"list", + "member":{"shape":"SnapshotCopyConfiguration"}, + "max":100, + "min":1 + }, "SnapshotList":{ "type":"list", "member":{"shape":"Snapshot"} }, + "SnapshotNamePrefix":{ + "type":"string", + "max":235, + "min":1 + }, "SnapshotStatus":{ "type":"string", "enum":[ @@ -2499,6 +3109,13 @@ "COPYING" ] }, + "State":{ + "type":"string", + "enum":[ + "ACTIVE", + "DISABLED" + ] + }, "String":{"type":"string"}, "SubnetId":{"type":"string"}, "SubnetIdList":{ @@ -2514,7 +3131,7 @@ "members":{ "message":{ "shape":"String", - "documentation":"A description of the status of the table restore request. Status values include SUCCEEDED
, FAILED
, CANCELED
, PENDING
, IN_PROGRESS
.
A message that explains the returned status. For example, if the status of the operation is FAILED
, the message explains why the operation failed.
The amount of data restored to the new table so far, in megabytes (MB).
" }, + "recoveryPointId":{ + "shape":"String", + "documentation":"The ID of the recovery point being restored from.
" + }, "requestTime":{ "shape":"Timestamp", "documentation":"The time that the table restore request was made, in Universal Coordinated Time (UTC).
" @@ -2550,7 +3171,7 @@ }, "status":{ "shape":"String", - "documentation":"A value that describes the current state of the table restore request. Possible values include SUCCEEDED
, FAILED
, CANCELED
, PENDING
, IN_PROGRESS
.
A value that describes the current state of the table restore request. Possible values are SUCCEEDED
, FAILED
, CANCELED
, PENDING
, and IN_PROGRESS
.
A JSON format string of the Amazon Redshift Serverless API operation with input parameters. The following is an example of a target action.
\"{\"CreateSnapshot\": {\"NamespaceName\": \"sampleNamespace\",\"SnapshotName\": \"sampleSnapshot\", \"retentionPeriod\": \"1\"}}\"
Specifies whether to enable the scheduled action.
" + }, + "endTime":{ + "shape":"Timestamp", + "documentation":"The end time in UTC of the scheduled action to update.
" + }, + "roleArn":{ + "shape":"IamRoleArn", + "documentation":"The ARN of the IAM role to assume to run the scheduled action. This IAM role must have permission to run the Amazon Redshift Serverless API operation in the scheduled action. This IAM role must allow the Amazon Redshift scheduler to schedule creating snapshots (Principal scheduler.redshift.amazonaws.com) to assume permissions on your behalf. For more information about the IAM role to use with the Amazon Redshift scheduler, see Using Identity-Based Policies for Amazon Redshift in the Amazon Redshift Cluster Management Guide
" + }, + "schedule":{ + "shape":"Schedule", + "documentation":"The schedule for a one-time (at format) or recurring (cron format) scheduled action. Schedule invocations must be separated by at least one hour.
Format of at expressions is \"at(yyyy-mm-ddThh:mm:ss)
\". For example, \"at(2016-03-04T17:27:00)
\".
Format of cron expressions is \"cron(Minutes Hours Day-of-month Month Day-of-week Year)
\". For example, \"cron(0 10 ? * MON *)
\". For more information, see Cron Expressions in the Amazon CloudWatch Events User Guide.
The descripion of the scheduled action to update to.
" + }, + "scheduledActionName":{ + "shape":"ScheduledActionName", + "documentation":"The name of the scheduled action to update to.
" + }, + "startTime":{ + "shape":"Timestamp", + "documentation":"The start time in UTC of the scheduled action to update to.
" + }, + "targetAction":{"shape":"TargetAction"} + } + }, + "UpdateScheduledActionResponse":{ + "type":"structure", + "members":{ + "scheduledAction":{ + "shape":"ScheduledActionResponse", + "documentation":"The ScheduledAction object that was updated.
" + } + } + }, + "UpdateSnapshotCopyConfigurationRequest":{ + "type":"structure", + "required":["snapshotCopyConfigurationId"], + "members":{ + "snapshotCopyConfigurationId":{ + "shape":"String", + "documentation":"The ID of the snapshot copy configuration to update.
" + }, + "snapshotRetentionPeriod":{ + "shape":"Integer", + "documentation":"The new retention period of how long to keep a snapshot in the destination Amazon Web Services Region.
" + } + } + }, + "UpdateSnapshotCopyConfigurationResponse":{ + "type":"structure", + "required":["snapshotCopyConfiguration"], + "members":{ + "snapshotCopyConfiguration":{ + "shape":"SnapshotCopyConfiguration", + "documentation":"The updated snapshot copy configuration object.
" + } + } + }, "UpdateSnapshotRequest":{ "type":"structure", "required":["snapshotName"], @@ -2864,7 +3561,7 @@ }, "configParameters":{ "shape":"ConfigParameterList", - "documentation":"An array of parameters to set for advanced control over a database. The options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
, query_group
, search_path
, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see Query monitoring metrics for Amazon Redshift Serverless.
An array of parameters to set for advanced control over a database. The options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
, query_group
, search_path
, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see Query monitoring metrics for Amazon Redshift Serverless.
An array of parameters to set for advanced control over a database. The options are auto_mv
, datestyle
, enable_case_sensitivity_identifier
, enable_user_activity_logging
, query_group
, , search_path
, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see Query monitoring metrics for Amazon Redshift Serverless.
An array of parameters to set for advanced control over a database. The options are auto_mv
, datestyle
, enable_case_sensitive_identifier
, enable_user_activity_logging
, query_group
, search_path
, and query monitoring metrics that let you define performance boundaries. For more information about query monitoring rules and available metrics, see Query monitoring metrics for Amazon Redshift Serverless.
The creation date of the workgroup.
" }, + "crossAccountVpcs":{ + "shape":"VpcIds", + "documentation":"A list of VPCs. Each entry is the unique identifier of a virtual private cloud with access to Amazon Redshift Serverless. If all of the VPCs for the grantee are allowed, it shows an asterisk.
" + }, "customDomainCertificateArn":{ "shape":"CustomDomainCertificateArnString", "documentation":"The custom domain name’s certificate Amazon resource name (ARN).
" diff --git a/docs/source/conf.py b/docs/source/conf.py index 917dcd4c3a..452d430680 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -59,7 +59,7 @@ # The short X.Y version. version = '1.33' # The full version, including alpha/beta/rc tags. -release = '1.33.3' +release = '1.33.4' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/tests/functional/endpoint-rules/marketplace-agreement/endpoint-tests-1.json b/tests/functional/endpoint-rules/marketplace-agreement/endpoint-tests-1.json new file mode 100644 index 0000000000..98fd1f954d --- /dev/null +++ b/tests/functional/endpoint-rules/marketplace-agreement/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://agreement-marketplace.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/tests/functional/endpoint-rules/marketplace-deployment/endpoint-tests-1.json b/tests/functional/endpoint-rules/marketplace-deployment/endpoint-tests-1.json new file mode 100644 index 0000000000..82c509117a --- /dev/null +++ b/tests/functional/endpoint-rules/marketplace-deployment/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://deployment-marketplace.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file