From fbf9bd89f3c95ed1b8f1fb97c090658ebd8412a2 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Wed, 29 Nov 2023 20:22:44 -0500 Subject: [PATCH] Release v1.48.9 (2023-11-30) (#5089) Release v1.48.9 (2023-11-30) === ### Service Client Updates * `service/marketplace-agreement`: Adds new service * `service/marketplace-catalog`: Updates service API and documentation * `service/marketplace-deployment`: Adds new service * `service/redshift-serverless`: Updates service API, documentation, and paginators --- CHANGELOG.md | 9 + aws/endpoints/defaults.go | 14 + aws/version.go | 2 +- .../2020-03-01/api-2.json | 637 ++ .../2020-03-01/docs-2.json | 550 ++ .../2020-03-01/endpoint-rule-set-1.json | 350 + .../2020-03-01/endpoint-tests-1.json | 314 + .../2020-03-01/examples-1.json | 5 + .../2020-03-01/paginators-1.json | 14 + .../marketplace-catalog/2018-09-17/api-2.json | 1923 ++++- .../2018-09-17/docs-2.json | 910 ++- .../2018-09-17/endpoint-rule-set-1.json | 40 +- .../2023-01-25/api-2.json | 371 + .../2023-01-25/docs-2.json | 195 + .../2023-01-25/endpoint-rule-set-1.json | 350 + .../2023-01-25/endpoint-tests-1.json | 314 + .../2023-01-25/examples-1.json | 5 + .../2023-01-25/paginators-1.json | 4 + .../redshift-serverless/2021-04-21/api-2.json | 462 +- .../2021-04-21/docs-2.json | 288 +- .../2021-04-21/paginators-1.json | 12 + models/endpoints/endpoints.json | 10 + service/marketplaceagreement/api.go | 3109 ++++++++ service/marketplaceagreement/doc.go | 46 + service/marketplaceagreement/errors.go | 48 + .../marketplaceagreementiface/interface.go | 82 + service/marketplaceagreement/service.go | 108 + service/marketplacecatalog/api.go | 6483 ++++++++++++++--- service/marketplacedeployment/api.go | 1382 ++++ service/marketplacedeployment/doc.go | 34 + service/marketplacedeployment/errors.go | 63 + .../marketplacedeploymentiface/interface.go | 80 + service/marketplacedeployment/service.go | 106 + service/redshiftserverless/api.go | 3309 ++++++++- .../redshiftserverlessiface/interface.go | 46 + 35 files changed, 20110 insertions(+), 1565 deletions(-) create mode 100644 models/apis/marketplace-agreement/2020-03-01/api-2.json create mode 100644 models/apis/marketplace-agreement/2020-03-01/docs-2.json create mode 100644 models/apis/marketplace-agreement/2020-03-01/endpoint-rule-set-1.json create mode 100644 models/apis/marketplace-agreement/2020-03-01/endpoint-tests-1.json create mode 100644 models/apis/marketplace-agreement/2020-03-01/examples-1.json create mode 100644 models/apis/marketplace-agreement/2020-03-01/paginators-1.json create mode 100644 models/apis/marketplace-deployment/2023-01-25/api-2.json create mode 100644 models/apis/marketplace-deployment/2023-01-25/docs-2.json create mode 100644 models/apis/marketplace-deployment/2023-01-25/endpoint-rule-set-1.json create mode 100644 models/apis/marketplace-deployment/2023-01-25/endpoint-tests-1.json create mode 100644 models/apis/marketplace-deployment/2023-01-25/examples-1.json create mode 100644 models/apis/marketplace-deployment/2023-01-25/paginators-1.json create mode 100644 service/marketplaceagreement/api.go create mode 100644 service/marketplaceagreement/doc.go create mode 100644 service/marketplaceagreement/errors.go create mode 100644 service/marketplaceagreement/marketplaceagreementiface/interface.go create mode 100644 service/marketplaceagreement/service.go create mode 100644 service/marketplacedeployment/api.go create mode 100644 service/marketplacedeployment/doc.go create mode 100644 service/marketplacedeployment/errors.go create mode 100644 service/marketplacedeployment/marketplacedeploymentiface/interface.go create mode 100644 service/marketplacedeployment/service.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 111417ce4d5..a911d72054a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +Release v1.48.9 (2023-11-30) +=== + +### Service Client Updates +* `service/marketplace-agreement`: Adds new service +* `service/marketplace-catalog`: Updates service API and documentation +* `service/marketplace-deployment`: Adds new service +* `service/redshift-serverless`: Updates service API, documentation, and paginators + Release v1.48.8 (2023-11-29) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index fca694c3f7c..24cb9c6f9b3 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -755,6 +755,13 @@ var awsPartition = partition{ }, }, }, + "agreement-marketplace": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + }, + }, "airflow": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -34446,6 +34453,13 @@ var awscnPartition = partition{ }: endpoint{}, }, }, + "redshift-serverless": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "cn-north-1", + }: endpoint{}, + }, + }, "resource-explorer-2": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ diff --git a/aws/version.go b/aws/version.go index 1ccf825de42..28907febc52 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.48.8" +const SDKVersion = "1.48.9" diff --git a/models/apis/marketplace-agreement/2020-03-01/api-2.json b/models/apis/marketplace-agreement/2020-03-01/api-2.json new file mode 100644 index 00000000000..13df2aadaa2 --- /dev/null +++ b/models/apis/marketplace-agreement/2020-03-01/api-2.json @@ -0,0 +1,637 @@ +{ + "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"} + ] + }, + "GetAgreementTerms":{ + "name":"GetAgreementTerms", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetAgreementTermsInput"}, + "output":{"shape":"GetAgreementTermsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, + "SearchAgreements":{ + "name":"SearchAgreements", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"SearchAgreementsInput"}, + "output":{"shape":"SearchAgreementsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + } + }, + "shapes":{ + "AWSAccountId":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^[0-9]+$" + }, + "AcceptedTerm":{ + "type":"structure", + "members":{ + "byolPricingTerm":{"shape":"ByolPricingTerm"}, + "configurableUpfrontPricingTerm":{"shape":"ConfigurableUpfrontPricingTerm"}, + "fixedUpfrontPricingTerm":{"shape":"FixedUpfrontPricingTerm"}, + "freeTrialPricingTerm":{"shape":"FreeTrialPricingTerm"}, + "legalTerm":{"shape":"LegalTerm"}, + "paymentScheduleTerm":{"shape":"PaymentScheduleTerm"}, + "recurringPaymentTerm":{"shape":"RecurringPaymentTerm"}, + "renewalTerm":{"shape":"RenewalTerm"}, + "supportTerm":{"shape":"SupportTerm"}, + "usageBasedPricingTerm":{"shape":"UsageBasedPricingTerm"}, + "validityTerm":{"shape":"ValidityTerm"} + }, + "union":true + }, + "AcceptedTermList":{ + "type":"list", + "member":{"shape":"AcceptedTerm"} + }, + "Acceptor":{ + "type":"structure", + "members":{ + "accountId":{"shape":"AWSAccountId"} + } + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "requestId":{"shape":"RequestId"} + }, + "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"}, + "acceptor":{"shape":"Acceptor"}, + "agreementId":{"shape":"ResourceId"}, + "agreementType":{"shape":"AgreementType"}, + "endTime":{"shape":"Timestamp"}, + "proposalSummary":{"shape":"ProposalSummary"}, + "proposer":{"shape":"Proposer"}, + "startTime":{"shape":"Timestamp"}, + "status":{"shape":"AgreementStatus"} + } + }, + "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"} + } + }, + "Catalog":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[a-zA-Z]+$" + }, + "ConfigurableUpfrontPricingTerm":{ + "type":"structure", + "members":{ + "configuration":{"shape":"ConfigurableUpfrontPricingTermConfiguration"}, + "currencyCode":{"shape":"CurrencyCode"}, + "rateCards":{"shape":"ConfigurableUpfrontRateCardList"}, + "type":{"shape":"UnversionedTermType"} + } + }, + "ConfigurableUpfrontPricingTermConfiguration":{ + "type":"structure", + "required":[ + "dimensions", + "selectorValue" + ], + "members":{ + "dimensions":{"shape":"DimensionList"}, + "selectorValue":{"shape":"BoundedString"} + } + }, + "ConfigurableUpfrontRateCardItem":{ + "type":"structure", + "members":{ + "constraints":{"shape":"Constraints"}, + "rateCard":{"shape":"RateCardList"}, + "selector":{"shape":"Selector"} + } + }, + "ConfigurableUpfrontRateCardList":{ + "type":"list", + "member":{"shape":"ConfigurableUpfrontRateCardItem"} + }, + "Constraints":{ + "type":"structure", + "members":{ + "multipleDimensionSelection":{"shape":"BoundedString"}, + "quantityConfiguration":{"shape":"BoundedString"} + } + }, + "CurrencyCode":{ + "type":"string", + "max":3, + "min":3, + "pattern":"^[A-Z]+$" + }, + "DescribeAgreementInput":{ + "type":"structure", + "required":["agreementId"], + "members":{ + "agreementId":{"shape":"ResourceId"} + } + }, + "DescribeAgreementOutput":{ + "type":"structure", + "members":{ + "acceptanceTime":{"shape":"Timestamp"}, + "acceptor":{"shape":"Acceptor"}, + "agreementId":{"shape":"ResourceId"}, + "agreementType":{"shape":"AgreementType"}, + "endTime":{"shape":"Timestamp"}, + "estimatedCharges":{"shape":"EstimatedCharges"}, + "proposalSummary":{"shape":"ProposalSummary"}, + "proposer":{"shape":"Proposer"}, + "startTime":{"shape":"Timestamp"}, + "status":{"shape":"AgreementStatus"} + } + }, + "Dimension":{ + "type":"structure", + "required":[ + "dimensionKey", + "dimensionValue" + ], + "members":{ + "dimensionKey":{"shape":"BoundedString"}, + "dimensionValue":{"shape":"ZeroValueInteger"} + } + }, + "DimensionList":{ + "type":"list", + "member":{"shape":"Dimension"}, + "min":1 + }, + "DocumentItem":{ + "type":"structure", + "members":{ + "type":{"shape":"BoundedString"}, + "url":{"shape":"BoundedString"}, + "version":{"shape":"BoundedString"} + } + }, + "DocumentList":{ + "type":"list", + "member":{"shape":"DocumentItem"} + }, + "EstimatedCharges":{ + "type":"structure", + "members":{ + "agreementValue":{"shape":"BoundedString"}, + "currencyCode":{"shape":"CurrencyCode"} + } + }, + "ExceptionMessage":{ + "type":"string", + "max":1024, + "min":1 + }, + "Filter":{ + "type":"structure", + "members":{ + "name":{"shape":"FilterName"}, + "values":{"shape":"FilterValueList"} + } + }, + "FilterList":{ + "type":"list", + "member":{"shape":"Filter"}, + "max":10, + "min":1 + }, + "FilterName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^[A-Za-z_]+$" + }, + "FilterValue":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[A-Za-z0-9+:_-]+$" + }, + "FilterValueList":{ + "type":"list", + "member":{"shape":"FilterValue"}, + "max":1, + "min":1 + }, + "FixedUpfrontPricingTerm":{ + "type":"structure", + "members":{ + "currencyCode":{"shape":"CurrencyCode"}, + "duration":{"shape":"BoundedString"}, + "grants":{"shape":"GrantList"}, + "price":{"shape":"BoundedString"}, + "type":{"shape":"UnversionedTermType"} + } + }, + "FreeTrialPricingTerm":{ + "type":"structure", + "members":{ + "duration":{"shape":"BoundedString"}, + "grants":{"shape":"GrantList"}, + "type":{"shape":"UnversionedTermType"} + } + }, + "GetAgreementTermsInput":{ + "type":"structure", + "required":["agreementId"], + "members":{ + "agreementId":{"shape":"ResourceId"}, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"} + } + }, + "GetAgreementTermsOutput":{ + "type":"structure", + "members":{ + "acceptedTerms":{"shape":"AcceptedTermList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "GrantItem":{ + "type":"structure", + "members":{ + "dimensionKey":{"shape":"BoundedString"}, + "maxQuantity":{"shape":"PositiveIntegerWithDefaultValueOne"} + } + }, + "GrantList":{ + "type":"list", + "member":{"shape":"GrantItem"} + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "requestId":{"shape":"RequestId"} + }, + "exception":true, + "fault":true + }, + "LegalTerm":{ + "type":"structure", + "members":{ + "documents":{"shape":"DocumentList"}, + "type":{"shape":"UnversionedTermType"} + } + }, + "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"}, + "schedule":{"shape":"ScheduleList"}, + "type":{"shape":"UnversionedTermType"} + } + }, + "PositiveIntegerWithDefaultValueOne":{ + "type":"integer", + "box":true, + "min":1 + }, + "ProposalSummary":{ + "type":"structure", + "members":{ + "offerId":{"shape":"OfferId"}, + "resources":{"shape":"Resources"} + } + }, + "Proposer":{ + "type":"structure", + "members":{ + "accountId":{"shape":"AWSAccountId"} + } + }, + "RateCardItem":{ + "type":"structure", + "members":{ + "dimensionKey":{"shape":"BoundedString"}, + "price":{"shape":"BoundedString"} + } + }, + "RateCardList":{ + "type":"list", + "member":{"shape":"RateCardItem"} + }, + "RecurringPaymentTerm":{ + "type":"structure", + "members":{ + "billingPeriod":{"shape":"BoundedString"}, + "currencyCode":{"shape":"CurrencyCode"}, + "price":{"shape":"BoundedString"}, + "type":{"shape":"UnversionedTermType"} + } + }, + "RenewalTerm":{ + "type":"structure", + "members":{ + "configuration":{"shape":"RenewalTermConfiguration"}, + "type":{"shape":"UnversionedTermType"} + } + }, + "RenewalTermConfiguration":{ + "type":"structure", + "required":["enableAutoRenew"], + "members":{ + "enableAutoRenew":{"shape":"Boolean"} + } + }, + "RequestId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[A-Za-z0-9-]+$" + }, + "Resource":{ + "type":"structure", + "members":{ + "id":{"shape":"ResourceId"}, + "type":{"shape":"AgreementResourceType"} + } + }, + "ResourceId":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^[A-Za-z0-9_/-]+$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "requestId":{"shape":"RequestId"}, + "resourceId":{"shape":"ResourceId"}, + "resourceType":{"shape":"ResourceType"} + }, + "exception":true + }, + "ResourceType":{ + "type":"string", + "enum":["Agreement"] + }, + "Resources":{ + "type":"list", + "member":{"shape":"Resource"} + }, + "ScheduleItem":{ + "type":"structure", + "members":{ + "chargeAmount":{"shape":"BoundedString"}, + "chargeDate":{"shape":"Timestamp"} + } + }, + "ScheduleList":{ + "type":"list", + "member":{"shape":"ScheduleItem"} + }, + "SearchAgreementsInput":{ + "type":"structure", + "members":{ + "catalog":{"shape":"Catalog"}, + "filters":{"shape":"FilterList"}, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"}, + "sort":{"shape":"Sort"} + } + }, + "SearchAgreementsOutput":{ + "type":"structure", + "members":{ + "agreementViewSummaries":{"shape":"AgreementViewSummaryList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "Selector":{ + "type":"structure", + "members":{ + "type":{"shape":"BoundedString"}, + "value":{"shape":"BoundedString"} + } + }, + "Sort":{ + "type":"structure", + "members":{ + "sortBy":{"shape":"SortBy"}, + "sortOrder":{"shape":"SortOrder"} + } + }, + "SortBy":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[A-Za-z_]+$" + }, + "SortOrder":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "SupportTerm":{ + "type":"structure", + "members":{ + "refundPolicy":{"shape":"BoundedString"}, + "type":{"shape":"UnversionedTermType"} + } + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "requestId":{"shape":"RequestId"} + }, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "UnversionedTermType":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"^[A-Za-z]+$" + }, + "UsageBasedPricingTerm":{ + "type":"structure", + "members":{ + "currencyCode":{"shape":"CurrencyCode"}, + "rateCards":{"shape":"UsageBasedRateCardList"}, + "type":{"shape":"UnversionedTermType"} + } + }, + "UsageBasedRateCardItem":{ + "type":"structure", + "members":{ + "rateCard":{"shape":"RateCardList"} + } + }, + "UsageBasedRateCardList":{ + "type":"list", + "member":{"shape":"UsageBasedRateCardItem"} + }, + "ValidationException":{ + "type":"structure", + "members":{ + "fields":{"shape":"ValidationExceptionFieldList"}, + "message":{"shape":"ExceptionMessage"}, + "reason":{"shape":"ValidationExceptionReason"}, + "requestId":{"shape":"RequestId"} + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "message", + "name" + ], + "members":{ + "message":{"shape":"BoundedString"}, + "name":{"shape":"BoundedString"} + } + }, + "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"}, + "agreementEndDate":{"shape":"Timestamp"}, + "agreementStartDate":{"shape":"Timestamp"}, + "type":{"shape":"UnversionedTermType"} + } + }, + "ZeroValueInteger":{ + "type":"integer", + "min":0 + } + } +} diff --git a/models/apis/marketplace-agreement/2020-03-01/docs-2.json b/models/apis/marketplace-agreement/2020-03-01/docs-2.json new file mode 100644 index 00000000000..a351ca72f40 --- /dev/null +++ b/models/apis/marketplace-agreement/2020-03-01/docs-2.json @@ -0,0 +1,550 @@ +{ + "version": "2.0", + "service": "

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:

", + "operations": { + "DescribeAgreement": "

Provides details about an agreement, such as the proposer, acceptor, start date, and end date.

", + "GetAgreementTerms": "

Obtains details about the terms in an agreement that you participated in as proposer or acceptor.

The details include:

", + "SearchAgreements": "

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:

" + }, + "shapes": { + "AWSAccountId": { + "base": null, + "refs": { + "Acceptor$accountId": "

The AWS account ID of the acceptor.

", + "Proposer$accountId": "

The AWS account ID of the proposer.

" + } + }, + "AcceptedTerm": { + "base": "

A subset of terms proposed by the proposer, which have been accepted by the acceptor as part of agreement creation.

", + "refs": { + "AcceptedTermList$member": null + } + }, + "AcceptedTermList": { + "base": null, + "refs": { + "GetAgreementTermsOutput$acceptedTerms": "

A subset of terms proposed by the proposer that have been accepted by the acceptor as part of the agreement creation.

" + } + }, + "Acceptor": { + "base": "

The details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement.

", + "refs": { + "AgreementViewSummary$acceptor": "

Details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement.

", + "DescribeAgreementOutput$acceptor": "

The details of the party accepting the agreement terms. This is commonly the buyer for PurchaseAgreement.

" + } + }, + "AccessDeniedException": { + "base": "

User does not have sufficient access to perform this action.

", + "refs": { + } + }, + "AgreementResourceType": { + "base": null, + "refs": { + "Resource$type": "

Type of the resource, which is the product. Values include SaaSProduct or AmiProduct.

" + } + }, + "AgreementStatus": { + "base": null, + "refs": { + "AgreementViewSummary$status": "

The current status of the agreement.

", + "DescribeAgreementOutput$status": "

The current status of the agreement.

Statuses include:

" + } + }, + "AgreementType": { + "base": null, + "refs": { + "AgreementViewSummary$agreementType": "

The type of agreement. Values are PurchaseAgreement or VendorInsightsAgreement.

", + "DescribeAgreementOutput$agreementType": "

The type of agreement. Values are PurchaseAgreement or VendorInsightsAgreement.

" + } + }, + "AgreementViewSummary": { + "base": "

A summary of the agreement, including top-level attributes (for example, the agreement ID, version, proposer, and acceptor).

", + "refs": { + "AgreementViewSummaryList$member": null + } + }, + "AgreementViewSummaryList": { + "base": null, + "refs": { + "SearchAgreementsOutput$agreementViewSummaries": "

A summary of the agreement, including top-level attributes (for example, the agreement ID, version, proposer, and acceptor).

" + } + }, + "Boolean": { + "base": null, + "refs": { + "RenewalTermConfiguration$enableAutoRenew": "

Defines whether the acceptor has chosen to auto-renew the agreement at the end of its lifecycle. Can be set to True or False.

" + } + }, + "BoundedString": { + "base": null, + "refs": { + "ConfigurableUpfrontPricingTermConfiguration$selectorValue": "

Defines the length of time for which the particular pricing/dimension is being purchased by the acceptor.

", + "Constraints$multipleDimensionSelection": "

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.

", + "Constraints$quantityConfiguration": "

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.

", + "Dimension$dimensionKey": "

The name of key value of the dimension.

", + "DocumentItem$type": "

Category of the document. Document types include:

", + "DocumentItem$url": "

A URL to the legal document for buyers to read. Required when Type is CustomEula.

", + "DocumentItem$version": "

Version of standard contracts provided by AWS Marketplace. Required when Type is StandardEula or StandardDsa.

", + "EstimatedCharges$agreementValue": "

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.

", + "FixedUpfrontPricingTerm$duration": "

Contract duration for the terms.

", + "FixedUpfrontPricingTerm$price": "

Fixed amount to be charged to the customer when this term is accepted.

", + "FreeTrialPricingTerm$duration": "

Duration of the free trial period (5–31 days).

", + "GrantItem$dimensionKey": "

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.

", + "RateCardItem$dimensionKey": "

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.

", + "RateCardItem$price": "

Per unit price for the product dimension that’s used for calculating the amount to be charged.

", + "RecurringPaymentTerm$billingPeriod": "

Defines the recurrence at which buyers are charged.

", + "RecurringPaymentTerm$price": "

Amount charged to the buyer every billing period.

", + "ScheduleItem$chargeAmount": "

The price that the customer would pay on the scheduled date (chargeDate).

", + "Selector$type": "

Category of selector.

", + "Selector$value": "

Contract duration. This field supports the ISO 8601 format.

", + "SupportTerm$refundPolicy": "

Free-text field about the refund policy description that will be shown to customers as is on the website and console.

", + "ValidationExceptionField$message": "

See applicable actions.

", + "ValidationExceptionField$name": "

The name of the field associated with the error.

", + "ValidityTerm$agreementDuration": "

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.

" + } + }, + "ByolPricingTerm": { + "base": "

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.

", + "refs": { + "AcceptedTerm$byolPricingTerm": "

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": { + "base": null, + "refs": { + "SearchAgreementsInput$catalog": "

The catalog in which the agreement was created.

" + } + }, + "ConfigurableUpfrontPricingTerm": { + "base": "

Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration.

", + "refs": { + "AcceptedTerm$configurableUpfrontPricingTerm": "

Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration.

" + } + }, + "ConfigurableUpfrontPricingTermConfiguration": { + "base": "

Defines a prepaid payment model that allows buyers to configure the entitlements they want to purchase and the duration.

", + "refs": { + "ConfigurableUpfrontPricingTerm$configuration": "

Additional parameters specified by the acceptor while accepting the term.

" + } + }, + "ConfigurableUpfrontRateCardItem": { + "base": "

Within the prepaid payment model defined under ConfigurableUpfrontPricingTerm, the RateCardItem defines all the various rate cards (including pricing and dimensions) that have been proposed.

", + "refs": { + "ConfigurableUpfrontRateCardList$member": null + } + }, + "ConfigurableUpfrontRateCardList": { + "base": null, + "refs": { + "ConfigurableUpfrontPricingTerm$rateCards": "

A rate card defines the per unit rates for product dimensions.

" + } + }, + "Constraints": { + "base": "

Defines limits on how the term can be configured by acceptors.

", + "refs": { + "ConfigurableUpfrontRateCardItem$constraints": "

Defines limits on how the term can be configured by acceptors.

" + } + }, + "CurrencyCode": { + "base": null, + "refs": { + "ConfigurableUpfrontPricingTerm$currencyCode": "

Defines the currency for the prices mentioned in the term.

", + "EstimatedCharges$currencyCode": "

Defines the currency code for the charge.

", + "FixedUpfrontPricingTerm$currencyCode": "

Defines the currency for the prices mentioned in this term.

", + "PaymentScheduleTerm$currencyCode": "

Defines the currency for the prices mentioned in the term.

", + "RecurringPaymentTerm$currencyCode": "

Defines the currency for the prices mentioned in this term.

", + "UsageBasedPricingTerm$currencyCode": "

Defines the currency for the prices mentioned in the term.

" + } + }, + "DescribeAgreementInput": { + "base": null, + "refs": { + } + }, + "DescribeAgreementOutput": { + "base": null, + "refs": { + } + }, + "Dimension": { + "base": "

Defines the dimensions that the acceptor has purchased from the overall set of dimensions presented in the rate card.

", + "refs": { + "DimensionList$member": null + } + }, + "DimensionList": { + "base": null, + "refs": { + "ConfigurableUpfrontPricingTermConfiguration$dimensions": "

Defines the dimensions that the acceptor has purchased from the overall set of dimensions presented in the rate card.

" + } + }, + "DocumentItem": { + "base": "

Includes the list of references to legal resources proposed by the proposer to the acceptor. Each DocumentItem refers to an individual reference.

", + "refs": { + "DocumentList$member": null + } + }, + "DocumentList": { + "base": null, + "refs": { + "LegalTerm$documents": "

List of references to legal resources proposed to the buyers. An example is the EULA.

" + } + }, + "EstimatedCharges": { + "base": "

Estimated cost of the agreement.

", + "refs": { + "DescribeAgreementOutput$estimatedCharges": "

The estimated cost of the agreement.

" + } + }, + "ExceptionMessage": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "InternalServerException$message": null, + "ResourceNotFoundException$message": null, + "ThrottlingException$message": null, + "ValidationException$message": null + } + }, + "Filter": { + "base": "

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.

", + "refs": { + "FilterList$member": null + } + }, + "FilterList": { + "base": null, + "refs": { + "SearchAgreementsInput$filters": "

The filter name and value pair used to return a specific list of results.

The following filters are supported:

" + } + }, + "FilterName": { + "base": null, + "refs": { + "Filter$name": "

The name of the filter.

" + } + }, + "FilterValue": { + "base": null, + "refs": { + "FilterValueList$member": null + } + }, + "FilterValueList": { + "base": null, + "refs": { + "Filter$values": "

The filter value.

" + } + }, + "FixedUpfrontPricingTerm": { + "base": "

Defines a prepaid pricing model where the customers are charged a fixed upfront amount.

", + "refs": { + "AcceptedTerm$fixedUpfrontPricingTerm": "

Defines a pre-paid pricing model where the customers are charged a fixed upfront amount.

" + } + }, + "FreeTrialPricingTerm": { + "base": "

Defines a short-term free pricing model where the buyers aren’t charged anything within a specified limit.

", + "refs": { + "AcceptedTerm$freeTrialPricingTerm": "

Defines a short-term free pricing model where the buyers aren’t charged anything within a specified limit.

" + } + }, + "GetAgreementTermsInput": { + "base": null, + "refs": { + } + }, + "GetAgreementTermsOutput": { + "base": null, + "refs": { + } + }, + "GrantItem": { + "base": "

Entitlements granted to the acceptor of fixed upfront as part of agreement execution.

", + "refs": { + "GrantList$member": null + } + }, + "GrantList": { + "base": null, + "refs": { + "FixedUpfrontPricingTerm$grants": "

Entitlements granted to the acceptor of fixed upfront as part of agreement execution.

", + "FreeTrialPricingTerm$grants": "

Entitlements granted to the acceptor of a free trial as part of an agreement execution.

" + } + }, + "InternalServerException": { + "base": "

Unexpected error during processing of request.

", + "refs": { + } + }, + "LegalTerm": { + "base": "

Defines the list of text agreements proposed to the acceptors. An example is the end user license agreement (EULA).

", + "refs": { + "AcceptedTerm$legalTerm": "

Defines the list of text agreements proposed to the acceptors. An example is the end user license agreement (EULA).

" + } + }, + "MaxResults": { + "base": null, + "refs": { + "GetAgreementTermsInput$maxResults": "

The maximum number of agreements to return in the response.

", + "SearchAgreementsInput$maxResults": "

The maximum number of agreements to return in the response.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "GetAgreementTermsInput$nextToken": "

A token to specify where to start pagination

", + "GetAgreementTermsOutput$nextToken": "

A token to specify where to start pagination

", + "SearchAgreementsInput$nextToken": "

A token to specify where to start pagination.

", + "SearchAgreementsOutput$nextToken": "

The token used for pagination. The field is null if there are no more results.

" + } + }, + "OfferId": { + "base": null, + "refs": { + "ProposalSummary$offerId": "

The unique identifier of the offer in AWS Marketplace.

" + } + }, + "PaymentScheduleTerm": { + "base": "

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.

", + "refs": { + "AcceptedTerm$paymentScheduleTerm": "

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": { + "base": null, + "refs": { + "GrantItem$maxQuantity": "

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.

" + } + }, + "ProposalSummary": { + "base": "

A summary of the proposal received from the proposer.

", + "refs": { + "AgreementViewSummary$proposalSummary": "

A summary of the proposal

", + "DescribeAgreementOutput$proposalSummary": "

A summary of the proposal received from the proposer.

" + } + }, + "Proposer": { + "base": "

Details of the party proposing the agreement terms,. This is commonly the seller for PurchaseAgreement.

", + "refs": { + "AgreementViewSummary$proposer": "

Details of the party proposing the agreement terms, most commonly the seller for PurchaseAgreement.

", + "DescribeAgreementOutput$proposer": "

The details of the party proposing the agreement terms. This is commonly the seller for PurchaseAgreement.

" + } + }, + "RateCardItem": { + "base": "

Defines the per unit rates for each individual product dimension.

", + "refs": { + "RateCardList$member": null + } + }, + "RateCardList": { + "base": null, + "refs": { + "ConfigurableUpfrontRateCardItem$rateCard": "

Defines the per unit rates for product dimensions.

", + "UsageBasedRateCardItem$rateCard": "

Defines the per unit rates for product dimensions.

" + } + }, + "RecurringPaymentTerm": { + "base": "

Defines a pricing model where customers are charged a fixed recurring price at the end of each billing period.

", + "refs": { + "AcceptedTerm$recurringPaymentTerm": "

Defines a pricing model where customers are charged a fixed recurring price at the end of each billing period.

" + } + }, + "RenewalTerm": { + "base": "

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.

", + "refs": { + "AcceptedTerm$renewalTerm": "

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.

" + } + }, + "RenewalTermConfiguration": { + "base": "

Additional parameters specified by the acceptor while accepting the term.

", + "refs": { + "RenewalTerm$configuration": "

Additional parameters specified by the acceptor while accepting the term.

" + } + }, + "RequestId": { + "base": null, + "refs": { + "AccessDeniedException$requestId": "

The unique identifier for the error.

", + "InternalServerException$requestId": "

The unique identifier for the error.

", + "ResourceNotFoundException$requestId": "

The unique identifier for the error.

", + "ThrottlingException$requestId": "

The unique identifier for the error.

", + "ValidationException$requestId": "

The unique identifier associated with the error.

" + } + }, + "Resource": { + "base": "

The list of resources involved in the agreement.

", + "refs": { + "Resources$member": null + } + }, + "ResourceId": { + "base": null, + "refs": { + "AgreementViewSummary$agreementId": "

The unique identifier of the agreement.

", + "DescribeAgreementInput$agreementId": "

The unique identifier of the agreement.

", + "DescribeAgreementOutput$agreementId": "

The unique identifier of the agreement.

", + "GetAgreementTermsInput$agreementId": "

The unique identifier of the agreement.

", + "Resource$id": "

The unique identifier of the resource.

We mention the term resource, which is most commonly a product, so a resourceId is also a productId.

", + "ResourceNotFoundException$resourceId": "

The unique identifier for the resource.

" + } + }, + "ResourceNotFoundException": { + "base": "

Request references a resource which does not exist.

", + "refs": { + } + }, + "ResourceType": { + "base": null, + "refs": { + "ResourceNotFoundException$resourceType": "

The type of resource.

" + } + }, + "Resources": { + "base": null, + "refs": { + "ProposalSummary$resources": "

The list of resources involved in the agreement.

" + } + }, + "ScheduleItem": { + "base": "

An individual installment of the payment that includes the date and amount of the charge.

", + "refs": { + "ScheduleList$member": null + } + }, + "ScheduleList": { + "base": null, + "refs": { + "PaymentScheduleTerm$schedule": "

List of the payment schedule where each element defines one installment of payment. It contains the information necessary for calculating the price.

" + } + }, + "SearchAgreementsInput": { + "base": null, + "refs": { + } + }, + "SearchAgreementsOutput": { + "base": null, + "refs": { + } + }, + "Selector": { + "base": "

Differentiates between the mutually exclusive rate cards in the same pricing term to be selected by the buyer.

", + "refs": { + "ConfigurableUpfrontRateCardItem$selector": "

Differentiates between the mutually exclusive rate cards in the same pricing term to be selected by the buyer.

" + } + }, + "Sort": { + "base": "

An object that contains the SortBy and SortOrder attributes.

", + "refs": { + "SearchAgreementsInput$sort": "

An object that contains the SortBy and SortOrder attributes.

" + } + }, + "SortBy": { + "base": null, + "refs": { + "Sort$sortBy": "

The attribute on which the data is grouped, which can be by StartTime and EndTime. The default value is EndTime.

" + } + }, + "SortOrder": { + "base": null, + "refs": { + "Sort$sortOrder": "

The sorting order, which can be ASCENDING or DESCENDING. The default value is DESCENDING.

" + } + }, + "SupportTerm": { + "base": "

Defines the customer support available for the acceptors when they purchase the software.

", + "refs": { + "AcceptedTerm$supportTerm": "

Defines the customer support available for the acceptors when they purchase the software.

" + } + }, + "ThrottlingException": { + "base": "

Request was denied due to request throttling.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "AgreementViewSummary$acceptanceTime": "

The date and time that the agreement was accepted.

", + "AgreementViewSummary$endTime": "

The date and time when the agreement ends. The field is null for pay-as-you-go agreements, which don’t have end dates.

", + "AgreementViewSummary$startTime": "

The date and time when the agreement starts.

", + "DescribeAgreementOutput$acceptanceTime": "

The date and time the offer was accepted or the agreement was created.

AcceptanceTime and StartTime can differ for future dated agreements (FDAs).

", + "DescribeAgreementOutput$endTime": "

The date and time when the agreement ends. The field is null for pay-as-you-go agreements, which don’t have end dates.

", + "DescribeAgreementOutput$startTime": "

The date and time when the agreement starts.

", + "ScheduleItem$chargeDate": "

The date that the customer would pay the price defined in this payment schedule term. Invoices are generated on the date provided.

", + "ValidityTerm$agreementEndDate": "

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.

", + "ValidityTerm$agreementStartDate": "

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.

" + } + }, + "UnversionedTermType": { + "base": null, + "refs": { + "ByolPricingTerm$type": "

Type of the term being updated.

", + "ConfigurableUpfrontPricingTerm$type": "

Category of selector.

", + "FixedUpfrontPricingTerm$type": "

Category of the term being updated.

", + "FreeTrialPricingTerm$type": "

Category of the term.

", + "LegalTerm$type": "

Category of the term being updated.

", + "PaymentScheduleTerm$type": "

Type of the term.

", + "RecurringPaymentTerm$type": "

Type of the term being updated.

", + "RenewalTerm$type": "

Category of the term being updated.

", + "SupportTerm$type": "

Category of the term being updated.

", + "UsageBasedPricingTerm$type": "

Category of the term.

", + "ValidityTerm$type": "

Category of the term being updated.

" + } + }, + "UsageBasedPricingTerm": { + "base": "

Defines a usage-based pricing model (typically, pay-as-you-go pricing), where the customers are charged based on product usage.

", + "refs": { + "AcceptedTerm$usageBasedPricingTerm": "

Defines a usage-based pricing model (typically, pay-as-you-go pricing), where the customers are charged based on product usage.

" + } + }, + "UsageBasedRateCardItem": { + "base": "

Within the pay-as-you-go model defined under UsageBasedPricingTerm, the UsageBasedRateCardItem defines an individual rate for a product dimension.

", + "refs": { + "UsageBasedRateCardList$member": null + } + }, + "UsageBasedRateCardList": { + "base": null, + "refs": { + "UsageBasedPricingTerm$rateCards": "

List of rate cards.

" + } + }, + "ValidationException": { + "base": "

The input fails to satisfy the constraints specified by the service.

", + "refs": { + } + }, + "ValidationExceptionField": { + "base": "

The input fails to satisfy the constraints specified by the service.

", + "refs": { + "ValidationExceptionFieldList$member": null + } + }, + "ValidationExceptionFieldList": { + "base": null, + "refs": { + "ValidationException$fields": "

The fields associated with the error.

" + } + }, + "ValidationExceptionReason": { + "base": null, + "refs": { + "ValidationException$reason": "

The reason associated with the error.

" + } + }, + "ValidityTerm": { + "base": "

Defines the conditions that will keep an agreement created from this offer valid.

", + "refs": { + "AcceptedTerm$validityTerm": "

Defines the conditions that will keep an agreement created from this offer valid.

" + } + }, + "ZeroValueInteger": { + "base": null, + "refs": { + "Dimension$dimensionValue": "

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.

" + } + } + } +} diff --git a/models/apis/marketplace-agreement/2020-03-01/endpoint-rule-set-1.json b/models/apis/marketplace-agreement/2020-03-01/endpoint-rule-set-1.json new file mode 100644 index 00000000000..d6efb5c3307 --- /dev/null +++ b/models/apis/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/models/apis/marketplace-agreement/2020-03-01/endpoint-tests-1.json b/models/apis/marketplace-agreement/2020-03-01/endpoint-tests-1.json new file mode 100644 index 00000000000..98fd1f954db --- /dev/null +++ b/models/apis/marketplace-agreement/2020-03-01/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/models/apis/marketplace-agreement/2020-03-01/examples-1.json b/models/apis/marketplace-agreement/2020-03-01/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/marketplace-agreement/2020-03-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/marketplace-agreement/2020-03-01/paginators-1.json b/models/apis/marketplace-agreement/2020-03-01/paginators-1.json new file mode 100644 index 00000000000..689f870de15 --- /dev/null +++ b/models/apis/marketplace-agreement/2020-03-01/paginators-1.json @@ -0,0 +1,14 @@ +{ + "pagination": { + "GetAgreementTerms": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "SearchAgreements": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + } + } +} diff --git a/models/apis/marketplace-catalog/2018-09-17/api-2.json b/models/apis/marketplace-catalog/2018-09-17/api-2.json index 3d048965df4..80be91fbdd5 100644 --- a/models/apis/marketplace-catalog/2018-09-17/api-2.json +++ b/models/apis/marketplace-catalog/2018-09-17/api-2.json @@ -402,6 +402,145 @@ "synthetic": true, "type": "structure" }, + "AmiProductEntityIdFilter": { + "members": { + "ValueList": { + "shape": "AmiProductEntityIdFilterValueList" + } + }, + "type": "structure" + }, + "AmiProductEntityIdFilterValueList": { + "max": 10, + "member": { + "shape": "AmiProductEntityIdString" + }, + "min": 1, + "type": "list" + }, + "AmiProductEntityIdString": { + "max": 255, + "min": 1, + "pattern": "^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$", + "type": "string" + }, + "AmiProductFilters": { + "members": { + "EntityId": { + "shape": "AmiProductEntityIdFilter" + }, + "LastModifiedDate": { + "shape": "AmiProductLastModifiedDateFilter" + }, + "ProductTitle": { + "shape": "AmiProductTitleFilter" + }, + "Visibility": { + "shape": "AmiProductVisibilityFilter" + } + }, + "type": "structure" + }, + "AmiProductLastModifiedDateFilter": { + "members": { + "DateRange": { + "shape": "AmiProductLastModifiedDateFilterDateRange" + } + }, + "type": "structure" + }, + "AmiProductLastModifiedDateFilterDateRange": { + "members": { + "AfterValue": { + "shape": "DateTimeISO8601" + }, + "BeforeValue": { + "shape": "DateTimeISO8601" + } + }, + "type": "structure" + }, + "AmiProductSort": { + "members": { + "SortBy": { + "shape": "AmiProductSortBy" + }, + "SortOrder": { + "shape": "SortOrder" + } + }, + "type": "structure" + }, + "AmiProductSortBy": { + "enum": [ + "EntityId", + "LastModifiedDate", + "ProductTitle", + "Visibility" + ], + "type": "string" + }, + "AmiProductSummary": { + "members": { + "ProductTitle": { + "shape": "AmiProductTitleString" + }, + "Visibility": { + "shape": "AmiProductVisibilityString" + } + }, + "type": "structure" + }, + "AmiProductTitleFilter": { + "members": { + "ValueList": { + "shape": "AmiProductTitleFilterValueList" + }, + "WildCardValue": { + "shape": "AmiProductTitleString" + } + }, + "type": "structure" + }, + "AmiProductTitleFilterValueList": { + "max": 10, + "member": { + "shape": "AmiProductTitleString" + }, + "min": 1, + "type": "list" + }, + "AmiProductTitleString": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "AmiProductVisibilityFilter": { + "members": { + "ValueList": { + "shape": "AmiProductVisibilityFilterValueList" + } + }, + "type": "structure" + }, + "AmiProductVisibilityFilterValueList": { + "max": 10, + "member": { + "shape": "AmiProductVisibilityString" + }, + "min": 1, + "type": "list" + }, + "AmiProductVisibilityString": { + "enum": [ + "Limited", + "Public", + "Restricted", + "Draft" + ], + "type": "string" + }, "CancelChangeSetRequest": { "members": { "Catalog": { @@ -557,242 +696,292 @@ "pattern": "^[!-~]+$", "type": "string" }, - "DateTimeISO8601": { - "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$", - "type": "string" - }, - "DeleteResourcePolicyRequest": { + "ContainerProductEntityIdFilter": { "members": { - "ResourceArn": { - "location": "querystring", - "locationName": "resourceArn", - "shape": "ResourceARN" + "ValueList": { + "shape": "ContainerProductEntityIdFilterValueList" } }, - "required": [ - "ResourceArn" - ], - "type": "structure" - }, - "DeleteResourcePolicyResponse": { - "members": {}, "type": "structure" }, - "DescribeChangeSetRequest": { - "members": { - "Catalog": { - "location": "querystring", - "locationName": "catalog", - "shape": "Catalog" - }, - "ChangeSetId": { - "location": "querystring", - "locationName": "changeSetId", - "shape": "ResourceId" - } + "ContainerProductEntityIdFilterValueList": { + "max": 10, + "member": { + "shape": "ContainerProductEntityIdString" }, - "required": [ - "Catalog", - "ChangeSetId" - ], - "type": "structure" + "min": 1, + "type": "list" }, - "DescribeChangeSetResponse": { + "ContainerProductEntityIdString": { + "max": 255, + "min": 1, + "pattern": "^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$", + "type": "string" + }, + "ContainerProductFilters": { "members": { - "ChangeSet": { - "shape": "ChangeSetDescription" - }, - "ChangeSetArn": { - "shape": "ARN" - }, - "ChangeSetId": { - "shape": "ResourceId" - }, - "ChangeSetName": { - "shape": "ChangeSetName" - }, - "EndTime": { - "shape": "DateTimeISO8601" - }, - "FailureCode": { - "shape": "FailureCode" + "EntityId": { + "shape": "ContainerProductEntityIdFilter" }, - "FailureDescription": { - "shape": "ExceptionMessageContent" + "LastModifiedDate": { + "shape": "ContainerProductLastModifiedDateFilter" }, - "StartTime": { - "shape": "DateTimeISO8601" + "ProductTitle": { + "shape": "ContainerProductTitleFilter" }, - "Status": { - "shape": "ChangeStatus" + "Visibility": { + "shape": "ContainerProductVisibilityFilter" } }, "type": "structure" }, - "DescribeEntityRequest": { + "ContainerProductLastModifiedDateFilter": { "members": { - "Catalog": { - "location": "querystring", - "locationName": "catalog", - "shape": "Catalog" - }, - "EntityId": { - "location": "querystring", - "locationName": "entityId", - "shape": "ResourceId" + "DateRange": { + "shape": "ContainerProductLastModifiedDateFilterDateRange" } }, - "required": [ - "Catalog", - "EntityId" - ], "type": "structure" }, - "DescribeEntityResponse": { + "ContainerProductLastModifiedDateFilterDateRange": { "members": { - "Details": { - "shape": "Json" - }, - "EntityArn": { - "shape": "ARN" - }, - "EntityIdentifier": { - "shape": "Identifier" - }, - "EntityType": { - "shape": "EntityType" + "AfterValue": { + "shape": "DateTimeISO8601" }, - "LastModifiedDate": { + "BeforeValue": { "shape": "DateTimeISO8601" } }, "type": "structure" }, - "Entity": { + "ContainerProductSort": { "members": { - "Identifier": { - "shape": "Identifier" + "SortBy": { + "shape": "ContainerProductSortBy" }, - "Type": { - "shape": "EntityType" + "SortOrder": { + "shape": "SortOrder" } }, - "required": [ - "Type" - ], "type": "structure" }, - "EntityNameString": { - "max": 255, - "min": 1, - "pattern": "^\\\\S+[\\\\S\\\\s]*", + "ContainerProductSortBy": { + "enum": [ + "EntityId", + "LastModifiedDate", + "ProductTitle", + "Visibility" + ], "type": "string" }, - "EntitySummary": { + "ContainerProductSummary": { "members": { - "EntityArn": { - "shape": "ARN" - }, - "EntityId": { - "shape": "ResourceId" - }, - "EntityType": { - "shape": "EntityType" - }, - "LastModifiedDate": { - "shape": "DateTimeISO8601" - }, - "Name": { - "shape": "EntityNameString" + "ProductTitle": { + "shape": "ContainerProductTitleString" }, "Visibility": { - "shape": "VisibilityValue" + "shape": "ContainerProductVisibilityString" } }, "type": "structure" }, - "EntitySummaryList": { + "ContainerProductTitleFilter": { + "members": { + "ValueList": { + "shape": "ContainerProductTitleFilterValueList" + }, + "WildCardValue": { + "shape": "ContainerProductTitleString" + } + }, + "type": "structure" + }, + "ContainerProductTitleFilterValueList": { + "max": 10, "member": { - "shape": "EntitySummary" + "shape": "ContainerProductTitleString" }, + "min": 1, "type": "list" }, - "EntityType": { + "ContainerProductTitleString": { "max": 255, "min": 1, - "pattern": "^[a-zA-Z]+$", - "type": "string" - }, - "ErrorCodeString": { - "max": 72, - "min": 1, - "pattern": "^[a-zA-Z_]+$", + "pattern": "^(.)+$", "type": "string" }, - "ErrorDetail": { + "ContainerProductVisibilityFilter": { "members": { - "ErrorCode": { - "shape": "ErrorCodeString" - }, - "ErrorMessage": { - "shape": "ExceptionMessageContent" + "ValueList": { + "shape": "ContainerProductVisibilityFilterValueList" } }, "type": "structure" }, - "ErrorDetailList": { + "ContainerProductVisibilityFilterValueList": { + "max": 10, "member": { - "shape": "ErrorDetail" + "shape": "ContainerProductVisibilityString" }, + "min": 1, "type": "list" }, - "ExceptionMessageContent": { - "max": 2048, + "ContainerProductVisibilityString": { + "enum": [ + "Limited", + "Public", + "Restricted", + "Draft" + ], + "type": "string" + }, + "DataProductEntityIdFilter": { + "members": { + "ValueList": { + "shape": "DataProductEntityIdFilterValueList" + } + }, + "type": "structure" + }, + "DataProductEntityIdFilterValueList": { + "max": 10, + "member": { + "shape": "DataProductEntityIdString" + }, "min": 1, - "pattern": "^(.)+$", + "type": "list" + }, + "DataProductEntityIdString": { + "max": 255, + "min": 1, + "pattern": "^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$", "type": "string" }, - "FailureCode": { + "DataProductFilters": { + "members": { + "EntityId": { + "shape": "DataProductEntityIdFilter" + }, + "LastModifiedDate": { + "shape": "DataProductLastModifiedDateFilter" + }, + "ProductTitle": { + "shape": "DataProductTitleFilter" + }, + "Visibility": { + "shape": "DataProductVisibilityFilter" + } + }, + "type": "structure" + }, + "DataProductLastModifiedDateFilter": { + "members": { + "DateRange": { + "shape": "DataProductLastModifiedDateFilterDateRange" + } + }, + "type": "structure" + }, + "DataProductLastModifiedDateFilterDateRange": { + "members": { + "AfterValue": { + "shape": "DateTimeISO8601" + }, + "BeforeValue": { + "shape": "DateTimeISO8601" + } + }, + "type": "structure" + }, + "DataProductSort": { + "members": { + "SortBy": { + "shape": "DataProductSortBy" + }, + "SortOrder": { + "shape": "SortOrder" + } + }, + "type": "structure" + }, + "DataProductSortBy": { "enum": [ - "CLIENT_ERROR", - "SERVER_FAULT" + "EntityId", + "ProductTitle", + "Visibility", + "LastModifiedDate" ], "type": "string" }, - "Filter": { + "DataProductSummary": { "members": { - "Name": { - "shape": "FilterName" + "ProductTitle": { + "shape": "DataProductTitleString" }, + "Visibility": { + "shape": "DataProductVisibilityString" + } + }, + "type": "structure" + }, + "DataProductTitleFilter": { + "members": { "ValueList": { - "shape": "ValueList" + "shape": "DataProductTitleFilterValueList" + }, + "WildCardValue": { + "shape": "DataProductTitleString" } }, "type": "structure" }, - "FilterList": { - "max": 8, + "DataProductTitleFilterValueList": { + "max": 10, "member": { - "shape": "Filter" + "shape": "DataProductTitleString" }, "min": 1, "type": "list" }, - "FilterName": { + "DataProductTitleString": { "max": 255, "min": 1, - "pattern": "^[a-zA-Z]+$", + "pattern": "^(.)+$", "type": "string" }, - "FilterValueContent": { - "max": 255, + "DataProductVisibilityFilter": { + "members": { + "ValueList": { + "shape": "DataProductVisibilityFilterValueList" + } + }, + "type": "structure" + }, + "DataProductVisibilityFilterValueList": { + "max": 10, + "member": { + "shape": "DataProductVisibilityString" + }, "min": 1, - "pattern": "^(.)+$", + "type": "list" + }, + "DataProductVisibilityString": { + "enum": [ + "Limited", + "Public", + "Restricted", + "Unavailable", + "Draft" + ], "type": "string" }, - "GetResourcePolicyRequest": { + "DateTimeISO8601": { + "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$", + "type": "string" + }, + "DeleteResourcePolicyRequest": { "members": { "ResourceArn": { "location": "querystring", @@ -805,188 +994,1257 @@ ], "type": "structure" }, - "GetResourcePolicyResponse": { + "DeleteResourcePolicyResponse": { + "members": {}, + "type": "structure" + }, + "DescribeChangeSetRequest": { "members": { - "Policy": { - "shape": "ResourcePolicyJson" + "Catalog": { + "location": "querystring", + "locationName": "catalog", + "shape": "Catalog" + }, + "ChangeSetId": { + "location": "querystring", + "locationName": "changeSetId", + "shape": "ResourceId" } }, + "required": [ + "Catalog", + "ChangeSetId" + ], "type": "structure" }, - "Identifier": { - "max": 255, - "min": 1, - "pattern": "^[\\w\\-@]+$", - "type": "string" - }, - "InternalServiceException": { - "error": { - "httpStatusCode": 500 - }, - "exception": true, + "DescribeChangeSetResponse": { "members": { - "Message": { + "ChangeSet": { + "shape": "ChangeSetDescription" + }, + "ChangeSetArn": { + "shape": "ARN" + }, + "ChangeSetId": { + "shape": "ResourceId" + }, + "ChangeSetName": { + "shape": "ChangeSetName" + }, + "EndTime": { + "shape": "DateTimeISO8601" + }, + "FailureCode": { + "shape": "FailureCode" + }, + "FailureDescription": { "shape": "ExceptionMessageContent" + }, + "StartTime": { + "shape": "DateTimeISO8601" + }, + "Status": { + "shape": "ChangeStatus" } }, - "synthetic": true, "type": "structure" }, - "Json": { - "max": 16384, - "min": 2, - "pattern": "^[\\s]*\\{[\\s\\S]*\\}[\\s]*$", - "type": "string" - }, - "ListChangeSetsMaxResultInteger": { - "box": true, - "max": 20, - "min": 1, - "type": "integer" - }, - "ListChangeSetsRequest": { + "DescribeEntityRequest": { "members": { "Catalog": { + "location": "querystring", + "locationName": "catalog", "shape": "Catalog" }, - "FilterList": { - "shape": "FilterList" + "EntityId": { + "location": "querystring", + "locationName": "entityId", + "shape": "ResourceId" + } + }, + "required": [ + "Catalog", + "EntityId" + ], + "type": "structure" + }, + "DescribeEntityResponse": { + "members": { + "Details": { + "shape": "Json" }, - "MaxResults": { - "shape": "ListChangeSetsMaxResultInteger" + "EntityArn": { + "shape": "ARN" }, - "NextToken": { - "shape": "NextToken" + "EntityIdentifier": { + "shape": "Identifier" }, - "Sort": { - "shape": "Sort" + "EntityType": { + "shape": "EntityType" + }, + "LastModifiedDate": { + "shape": "DateTimeISO8601" + } + }, + "type": "structure" + }, + "Entity": { + "members": { + "Identifier": { + "shape": "Identifier" + }, + "Type": { + "shape": "EntityType" } }, "required": [ - "Catalog" + "Type" ], "type": "structure" }, - "ListChangeSetsResponse": { + "EntityNameString": { + "max": 255, + "min": 1, + "pattern": "^\\\\S+[\\\\S\\\\s]*", + "type": "string" + }, + "EntitySummary": { + "members": { + "AmiProductSummary": { + "shape": "AmiProductSummary" + }, + "ContainerProductSummary": { + "shape": "ContainerProductSummary" + }, + "DataProductSummary": { + "shape": "DataProductSummary" + }, + "EntityArn": { + "shape": "ARN" + }, + "EntityId": { + "shape": "ResourceId" + }, + "EntityType": { + "shape": "EntityType" + }, + "LastModifiedDate": { + "shape": "DateTimeISO8601" + }, + "Name": { + "shape": "EntityNameString" + }, + "OfferSummary": { + "shape": "OfferSummary" + }, + "ResaleAuthorizationSummary": { + "shape": "ResaleAuthorizationSummary" + }, + "SaaSProductSummary": { + "shape": "SaaSProductSummary" + }, + "Visibility": { + "shape": "VisibilityValue" + } + }, + "type": "structure" + }, + "EntitySummaryList": { + "member": { + "shape": "EntitySummary" + }, + "type": "list" + }, + "EntityType": { + "max": 255, + "min": 1, + "pattern": "^[a-zA-Z]+$", + "type": "string" + }, + "EntityTypeFilters": { + "members": { + "AmiProductFilters": { + "shape": "AmiProductFilters" + }, + "ContainerProductFilters": { + "shape": "ContainerProductFilters" + }, + "DataProductFilters": { + "shape": "DataProductFilters" + }, + "OfferFilters": { + "shape": "OfferFilters" + }, + "ResaleAuthorizationFilters": { + "shape": "ResaleAuthorizationFilters" + }, + "SaaSProductFilters": { + "shape": "SaaSProductFilters" + } + }, + "type": "structure", + "union": true + }, + "EntityTypeSort": { + "members": { + "AmiProductSort": { + "shape": "AmiProductSort" + }, + "ContainerProductSort": { + "shape": "ContainerProductSort" + }, + "DataProductSort": { + "shape": "DataProductSort" + }, + "OfferSort": { + "shape": "OfferSort" + }, + "ResaleAuthorizationSort": { + "shape": "ResaleAuthorizationSort" + }, + "SaaSProductSort": { + "shape": "SaaSProductSort" + } + }, + "type": "structure", + "union": true + }, + "ErrorCodeString": { + "max": 72, + "min": 1, + "pattern": "^[a-zA-Z_]+$", + "type": "string" + }, + "ErrorDetail": { + "members": { + "ErrorCode": { + "shape": "ErrorCodeString" + }, + "ErrorMessage": { + "shape": "ExceptionMessageContent" + } + }, + "type": "structure" + }, + "ErrorDetailList": { + "member": { + "shape": "ErrorDetail" + }, + "type": "list" + }, + "ExceptionMessageContent": { + "max": 2048, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "FailureCode": { + "enum": [ + "CLIENT_ERROR", + "SERVER_FAULT" + ], + "type": "string" + }, + "Filter": { + "members": { + "Name": { + "shape": "FilterName" + }, + "ValueList": { + "shape": "ValueList" + } + }, + "type": "structure" + }, + "FilterList": { + "max": 8, + "member": { + "shape": "Filter" + }, + "min": 1, + "type": "list" + }, + "FilterName": { + "max": 255, + "min": 1, + "pattern": "^[a-zA-Z]+$", + "type": "string" + }, + "FilterValueContent": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "GetResourcePolicyRequest": { + "members": { + "ResourceArn": { + "location": "querystring", + "locationName": "resourceArn", + "shape": "ResourceARN" + } + }, + "required": [ + "ResourceArn" + ], + "type": "structure" + }, + "GetResourcePolicyResponse": { + "members": { + "Policy": { + "shape": "ResourcePolicyJson" + } + }, + "type": "structure" + }, + "Identifier": { + "max": 255, + "min": 1, + "pattern": "^[\\w\\-@]+$", + "type": "string" + }, + "InternalServiceException": { + "error": { + "httpStatusCode": 500 + }, + "exception": true, + "members": { + "Message": { + "shape": "ExceptionMessageContent" + } + }, + "synthetic": true, + "type": "structure" + }, + "Json": { + "max": 16384, + "min": 2, + "pattern": "^[\\s]*\\{[\\s\\S]*\\}[\\s]*$", + "type": "string" + }, + "ListChangeSetsMaxResultInteger": { + "box": true, + "max": 20, + "min": 1, + "type": "integer" + }, + "ListChangeSetsRequest": { + "members": { + "Catalog": { + "shape": "Catalog" + }, + "FilterList": { + "shape": "FilterList" + }, + "MaxResults": { + "shape": "ListChangeSetsMaxResultInteger" + }, + "NextToken": { + "shape": "NextToken" + }, + "Sort": { + "shape": "Sort" + } + }, + "required": [ + "Catalog" + ], + "type": "structure" + }, + "ListChangeSetsResponse": { + "members": { + "ChangeSetSummaryList": { + "shape": "ChangeSetSummaryList" + }, + "NextToken": { + "shape": "NextToken" + } + }, + "type": "structure" + }, + "ListEntitiesMaxResultInteger": { + "box": true, + "max": 50, + "min": 1, + "type": "integer" + }, + "ListEntitiesRequest": { + "members": { + "Catalog": { + "shape": "Catalog" + }, + "EntityType": { + "shape": "EntityType" + }, + "EntityTypeFilters": { + "shape": "EntityTypeFilters" + }, + "EntityTypeSort": { + "shape": "EntityTypeSort" + }, + "FilterList": { + "shape": "FilterList" + }, + "MaxResults": { + "shape": "ListEntitiesMaxResultInteger" + }, + "NextToken": { + "shape": "NextToken" + }, + "OwnershipType": { + "shape": "OwnershipType" + }, + "Sort": { + "shape": "Sort" + } + }, + "required": [ + "Catalog", + "EntityType" + ], + "type": "structure" + }, + "ListEntitiesResponse": { + "members": { + "EntitySummaryList": { + "shape": "EntitySummaryList" + }, + "NextToken": { + "shape": "NextToken" + } + }, + "type": "structure" + }, + "ListTagsForResourceRequest": { + "members": { + "ResourceArn": { + "shape": "ResourceARN" + } + }, + "required": [ + "ResourceArn" + ], + "type": "structure" + }, + "ListTagsForResourceResponse": { + "members": { + "ResourceArn": { + "shape": "ResourceARN" + }, + "Tags": { + "shape": "TagList" + } + }, + "type": "structure" + }, + "NextToken": { + "max": 2048, + "min": 1, + "pattern": "^[\\w+=.:@\\-\\/]$", + "type": "string" + }, + "OfferAvailabilityEndDateFilter": { + "members": { + "DateRange": { + "shape": "OfferAvailabilityEndDateFilterDateRange" + } + }, + "type": "structure" + }, + "OfferAvailabilityEndDateFilterDateRange": { + "members": { + "AfterValue": { + "shape": "DateTimeISO8601" + }, + "BeforeValue": { + "shape": "DateTimeISO8601" + } + }, + "type": "structure" + }, + "OfferBuyerAccountsFilter": { + "members": { + "WildCardValue": { + "shape": "OfferBuyerAccountsFilterWildcard" + } + }, + "type": "structure" + }, + "OfferBuyerAccountsFilterWildcard": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "OfferBuyerAccountsList": { + "max": 26, + "member": { + "shape": "OfferBuyerAccountsString" + }, + "min": 0, + "type": "list" + }, + "OfferBuyerAccountsString": { + "max": 12, + "min": 12, + "pattern": "^\\d{12}$", + "type": "string" + }, + "OfferEntityIdFilter": { + "members": { + "ValueList": { + "shape": "OfferEntityIdFilterValueList" + } + }, + "type": "structure" + }, + "OfferEntityIdFilterValueList": { + "max": 10, + "member": { + "shape": "OfferEntityIdString" + }, + "min": 1, + "type": "list" + }, + "OfferEntityIdString": { + "max": 255, + "min": 1, + "pattern": "^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$", + "type": "string" + }, + "OfferFilters": { + "members": { + "AvailabilityEndDate": { + "shape": "OfferAvailabilityEndDateFilter" + }, + "BuyerAccounts": { + "shape": "OfferBuyerAccountsFilter" + }, + "EntityId": { + "shape": "OfferEntityIdFilter" + }, + "LastModifiedDate": { + "shape": "OfferLastModifiedDateFilter" + }, + "Name": { + "shape": "OfferNameFilter" + }, + "ProductId": { + "shape": "OfferProductIdFilter" + }, + "ReleaseDate": { + "shape": "OfferReleaseDateFilter" + }, + "State": { + "shape": "OfferStateFilter" + }, + "Targeting": { + "shape": "OfferTargetingFilter" + } + }, + "type": "structure" + }, + "OfferLastModifiedDateFilter": { + "members": { + "DateRange": { + "shape": "OfferLastModifiedDateFilterDateRange" + } + }, + "type": "structure" + }, + "OfferLastModifiedDateFilterDateRange": { + "members": { + "AfterValue": { + "shape": "DateTimeISO8601" + }, + "BeforeValue": { + "shape": "DateTimeISO8601" + } + }, + "type": "structure" + }, + "OfferNameFilter": { + "members": { + "ValueList": { + "shape": "OfferNameFilterValueList" + }, + "WildCardValue": { + "shape": "OfferNameString" + } + }, + "type": "structure" + }, + "OfferNameFilterValueList": { + "max": 10, + "member": { + "shape": "OfferNameString" + }, + "min": 1, + "type": "list" + }, + "OfferNameString": { + "max": 150, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "OfferProductIdFilter": { + "members": { + "ValueList": { + "shape": "OfferProductIdFilterValueList" + } + }, + "type": "structure" + }, + "OfferProductIdFilterValueList": { + "max": 10, + "member": { + "shape": "OfferProductIdString" + }, + "min": 1, + "type": "list" + }, + "OfferProductIdString": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "OfferReleaseDateFilter": { + "members": { + "DateRange": { + "shape": "OfferReleaseDateFilterDateRange" + } + }, + "type": "structure" + }, + "OfferReleaseDateFilterDateRange": { + "members": { + "AfterValue": { + "shape": "DateTimeISO8601" + }, + "BeforeValue": { + "shape": "DateTimeISO8601" + } + }, + "type": "structure" + }, + "OfferSort": { + "members": { + "SortBy": { + "shape": "OfferSortBy" + }, + "SortOrder": { + "shape": "SortOrder" + } + }, + "type": "structure" + }, + "OfferSortBy": { + "enum": [ + "EntityId", + "Name", + "ProductId", + "ReleaseDate", + "AvailabilityEndDate", + "BuyerAccounts", + "State", + "Targeting", + "LastModifiedDate" + ], + "type": "string" + }, + "OfferStateFilter": { + "members": { + "ValueList": { + "shape": "OfferStateFilterValueList" + } + }, + "type": "structure" + }, + "OfferStateFilterValueList": { + "max": 2, + "member": { + "shape": "OfferStateString" + }, + "min": 1, + "type": "list" + }, + "OfferStateString": { + "enum": [ + "Draft", + "Released" + ], + "type": "string" + }, + "OfferSummary": { + "members": { + "AvailabilityEndDate": { + "shape": "DateTimeISO8601" + }, + "BuyerAccounts": { + "shape": "OfferBuyerAccountsList" + }, + "Name": { + "shape": "OfferNameString" + }, + "ProductId": { + "shape": "OfferProductIdString" + }, + "ReleaseDate": { + "shape": "DateTimeISO8601" + }, + "State": { + "shape": "OfferStateString" + }, + "Targeting": { + "shape": "OfferTargetingList" + } + }, + "type": "structure" + }, + "OfferTargetingFilter": { + "members": { + "ValueList": { + "shape": "OfferTargetingFilterValueList" + } + }, + "type": "structure" + }, + "OfferTargetingFilterValueList": { + "max": 4, + "member": { + "shape": "OfferTargetingString" + }, + "min": 1, + "type": "list" + }, + "OfferTargetingList": { + "max": 4, + "member": { + "shape": "OfferTargetingString" + }, + "min": 0, + "type": "list" + }, + "OfferTargetingString": { + "enum": [ + "BuyerAccounts", + "ParticipatingPrograms", + "CountryCodes", + "None" + ], + "type": "string" + }, + "OwnershipType": { + "enum": [ + "SELF", + "SHARED" + ], + "type": "string" + }, + "PutResourcePolicyRequest": { + "members": { + "Policy": { + "shape": "ResourcePolicyJson" + }, + "ResourceArn": { + "shape": "ResourceARN" + } + }, + "required": [ + "ResourceArn", + "Policy" + ], + "type": "structure" + }, + "PutResourcePolicyResponse": { + "members": {}, + "type": "structure" + }, + "RequestedChangeList": { + "max": 20, + "member": { + "shape": "Change" + }, + "min": 1, + "type": "list" + }, + "ResaleAuthorizationAvailabilityEndDateFilter": { + "members": { + "DateRange": { + "shape": "ResaleAuthorizationAvailabilityEndDateFilterDateRange" + }, + "ValueList": { + "shape": "ResaleAuthorizationAvailabilityEndDateFilterValueList" + } + }, + "type": "structure" + }, + "ResaleAuthorizationAvailabilityEndDateFilterDateRange": { + "members": { + "AfterValue": { + "shape": "DateTimeISO8601" + }, + "BeforeValue": { + "shape": "DateTimeISO8601" + } + }, + "type": "structure" + }, + "ResaleAuthorizationAvailabilityEndDateFilterValueList": { + "max": 10, + "member": { + "shape": "DateTimeISO8601" + }, + "min": 1, + "type": "list" + }, + "ResaleAuthorizationCreatedDateFilter": { + "members": { + "DateRange": { + "shape": "ResaleAuthorizationCreatedDateFilterDateRange" + }, + "ValueList": { + "shape": "ResaleAuthorizationCreatedDateFilterValueList" + } + }, + "type": "structure" + }, + "ResaleAuthorizationCreatedDateFilterDateRange": { + "members": { + "AfterValue": { + "shape": "DateTimeISO8601" + }, + "BeforeValue": { + "shape": "DateTimeISO8601" + } + }, + "type": "structure" + }, + "ResaleAuthorizationCreatedDateFilterValueList": { + "max": 10, + "member": { + "shape": "DateTimeISO8601" + }, + "min": 1, + "type": "list" + }, + "ResaleAuthorizationEntityIdFilter": { + "members": { + "ValueList": { + "shape": "ResaleAuthorizationEntityIdFilterValueList" + } + }, + "type": "structure" + }, + "ResaleAuthorizationEntityIdFilterValueList": { + "max": 10, + "member": { + "shape": "ResaleAuthorizationEntityIdString" + }, + "min": 1, + "type": "list" + }, + "ResaleAuthorizationEntityIdString": { + "max": 255, + "min": 1, + "pattern": "^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$", + "type": "string" + }, + "ResaleAuthorizationFilters": { + "members": { + "AvailabilityEndDate": { + "shape": "ResaleAuthorizationAvailabilityEndDateFilter" + }, + "CreatedDate": { + "shape": "ResaleAuthorizationCreatedDateFilter" + }, + "EntityId": { + "shape": "ResaleAuthorizationEntityIdFilter" + }, + "LastModifiedDate": { + "shape": "ResaleAuthorizationLastModifiedDateFilter" + }, + "ManufacturerAccountId": { + "shape": "ResaleAuthorizationManufacturerAccountIdFilter" + }, + "ManufacturerLegalName": { + "shape": "ResaleAuthorizationManufacturerLegalNameFilter" + }, + "Name": { + "shape": "ResaleAuthorizationNameFilter" + }, + "OfferExtendedStatus": { + "shape": "ResaleAuthorizationOfferExtendedStatusFilter" + }, + "ProductId": { + "shape": "ResaleAuthorizationProductIdFilter" + }, + "ProductName": { + "shape": "ResaleAuthorizationProductNameFilter" + }, + "ResellerAccountID": { + "shape": "ResaleAuthorizationResellerAccountIDFilter" + }, + "ResellerLegalName": { + "shape": "ResaleAuthorizationResellerLegalNameFilter" + }, + "Status": { + "shape": "ResaleAuthorizationStatusFilter" + } + }, + "type": "structure" + }, + "ResaleAuthorizationLastModifiedDateFilter": { + "members": { + "DateRange": { + "shape": "ResaleAuthorizationLastModifiedDateFilterDateRange" + } + }, + "type": "structure" + }, + "ResaleAuthorizationLastModifiedDateFilterDateRange": { + "members": { + "AfterValue": { + "shape": "DateTimeISO8601" + }, + "BeforeValue": { + "shape": "DateTimeISO8601" + } + }, + "type": "structure" + }, + "ResaleAuthorizationManufacturerAccountIdFilter": { + "members": { + "ValueList": { + "shape": "ResaleAuthorizationManufacturerAccountIdFilterValueList" + }, + "WildCardValue": { + "shape": "ResaleAuthorizationManufacturerAccountIdFilterWildcard" + } + }, + "type": "structure" + }, + "ResaleAuthorizationManufacturerAccountIdFilterValueList": { + "max": 10, + "member": { + "shape": "ResaleAuthorizationManufacturerAccountIdString" + }, + "min": 1, + "type": "list" + }, + "ResaleAuthorizationManufacturerAccountIdFilterWildcard": { + "max": 12, + "min": 12, + "pattern": "^\\d{12}$", + "type": "string" + }, + "ResaleAuthorizationManufacturerAccountIdString": { + "max": 12, + "min": 12, + "pattern": "^\\d{12}$", + "type": "string" + }, + "ResaleAuthorizationManufacturerLegalNameFilter": { + "members": { + "ValueList": { + "shape": "ResaleAuthorizationManufacturerLegalNameFilterValueList" + }, + "WildCardValue": { + "shape": "ResaleAuthorizationManufacturerLegalNameFilterWildcard" + } + }, + "type": "structure" + }, + "ResaleAuthorizationManufacturerLegalNameFilterValueList": { + "max": 10, + "member": { + "shape": "ResaleAuthorizationManufacturerLegalNameString" + }, + "min": 1, + "type": "list" + }, + "ResaleAuthorizationManufacturerLegalNameFilterWildcard": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "ResaleAuthorizationManufacturerLegalNameString": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "ResaleAuthorizationNameFilter": { + "members": { + "ValueList": { + "shape": "ResaleAuthorizationNameFilterValueList" + }, + "WildCardValue": { + "shape": "ResaleAuthorizationNameFilterWildcard" + } + }, + "type": "structure" + }, + "ResaleAuthorizationNameFilterValueList": { + "max": 10, + "member": { + "shape": "ResaleAuthorizationNameString" + }, + "min": 1, + "type": "list" + }, + "ResaleAuthorizationNameFilterWildcard": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "ResaleAuthorizationNameString": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "ResaleAuthorizationOfferExtendedStatusFilter": { + "members": { + "ValueList": { + "shape": "ResaleAuthorizationOfferExtendedStatusFilterValueList" + } + }, + "type": "structure" + }, + "ResaleAuthorizationOfferExtendedStatusFilterValueList": { + "max": 10, + "member": { + "shape": "ResaleAuthorizationOfferExtendedStatusString" + }, + "min": 1, + "type": "list" + }, + "ResaleAuthorizationOfferExtendedStatusString": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "ResaleAuthorizationProductIdFilter": { "members": { - "ChangeSetSummaryList": { - "shape": "ChangeSetSummaryList" + "ValueList": { + "shape": "ResaleAuthorizationProductIdFilterValueList" }, - "NextToken": { - "shape": "NextToken" + "WildCardValue": { + "shape": "ResaleAuthorizationProductIdFilterWildcard" } }, "type": "structure" }, - "ListEntitiesMaxResultInteger": { - "box": true, - "max": 50, + "ResaleAuthorizationProductIdFilterValueList": { + "max": 10, + "member": { + "shape": "ResaleAuthorizationProductIdString" + }, "min": 1, - "type": "integer" + "type": "list" }, - "ListEntitiesRequest": { + "ResaleAuthorizationProductIdFilterWildcard": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "ResaleAuthorizationProductIdString": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "ResaleAuthorizationProductNameFilter": { "members": { - "Catalog": { - "shape": "Catalog" - }, - "EntityType": { - "shape": "EntityType" - }, - "FilterList": { - "shape": "FilterList" - }, - "MaxResults": { - "shape": "ListEntitiesMaxResultInteger" - }, - "NextToken": { - "shape": "NextToken" - }, - "OwnershipType": { - "shape": "OwnershipType" + "ValueList": { + "shape": "ResaleAuthorizationProductNameFilterValueList" }, - "Sort": { - "shape": "Sort" + "WildCardValue": { + "shape": "ResaleAuthorizationProductNameFilterWildcard" } }, - "required": [ - "Catalog", - "EntityType" - ], "type": "structure" }, - "ListEntitiesResponse": { + "ResaleAuthorizationProductNameFilterValueList": { + "max": 10, + "member": { + "shape": "ResaleAuthorizationProductNameString" + }, + "min": 1, + "type": "list" + }, + "ResaleAuthorizationProductNameFilterWildcard": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "ResaleAuthorizationProductNameString": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "ResaleAuthorizationResellerAccountIDFilter": { "members": { - "EntitySummaryList": { - "shape": "EntitySummaryList" + "ValueList": { + "shape": "ResaleAuthorizationResellerAccountIDFilterValueList" }, - "NextToken": { - "shape": "NextToken" + "WildCardValue": { + "shape": "ResaleAuthorizationResellerAccountIDFilterWildcard" } }, "type": "structure" }, - "ListTagsForResourceRequest": { - "members": { - "ResourceArn": { - "shape": "ResourceARN" - } + "ResaleAuthorizationResellerAccountIDFilterValueList": { + "max": 10, + "member": { + "shape": "ResaleAuthorizationResellerAccountIDString" }, - "required": [ - "ResourceArn" - ], - "type": "structure" + "min": 1, + "type": "list" }, - "ListTagsForResourceResponse": { + "ResaleAuthorizationResellerAccountIDFilterWildcard": { + "max": 12, + "min": 12, + "pattern": "^\\d{12}$", + "type": "string" + }, + "ResaleAuthorizationResellerAccountIDString": { + "max": 12, + "min": 12, + "pattern": "^\\d{12}$", + "type": "string" + }, + "ResaleAuthorizationResellerLegalNameFilter": { "members": { - "ResourceArn": { - "shape": "ResourceARN" + "ValueList": { + "shape": "ResaleAuthorizationResellerLegalNameFilterValueList" }, - "Tags": { - "shape": "TagList" + "WildCardValue": { + "shape": "ResaleAuthorizationResellerLegalNameFilterWildcard" } }, "type": "structure" }, - "NextToken": { - "max": 2048, + "ResaleAuthorizationResellerLegalNameFilterValueList": { + "max": 10, + "member": { + "shape": "ResaleAuthorizationResellerLegalNameString" + }, "min": 1, - "pattern": "^[\\w+=.:@\\-\\/]$", + "type": "list" + }, + "ResaleAuthorizationResellerLegalNameFilterWildcard": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", "type": "string" }, - "OwnershipType": { - "enum": [ - "SELF", - "SHARED" - ], + "ResaleAuthorizationResellerLegalNameString": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", "type": "string" }, - "PutResourcePolicyRequest": { + "ResaleAuthorizationSort": { "members": { - "Policy": { - "shape": "ResourcePolicyJson" + "SortBy": { + "shape": "ResaleAuthorizationSortBy" }, - "ResourceArn": { - "shape": "ResourceARN" + "SortOrder": { + "shape": "SortOrder" } }, - "required": [ - "ResourceArn", - "Policy" - ], "type": "structure" }, - "PutResourcePolicyResponse": { - "members": {}, + "ResaleAuthorizationSortBy": { + "enum": [ + "EntityId", + "Name", + "ProductId", + "ProductName", + "ManufacturerAccountId", + "ManufacturerLegalName", + "ResellerAccountID", + "ResellerLegalName", + "Status", + "OfferExtendedStatus", + "CreatedDate", + "AvailabilityEndDate", + "LastModifiedDate" + ], + "type": "string" + }, + "ResaleAuthorizationStatusFilter": { + "members": { + "ValueList": { + "shape": "ResaleAuthorizationStatusFilterValueList" + } + }, "type": "structure" }, - "RequestedChangeList": { - "max": 20, + "ResaleAuthorizationStatusFilterValueList": { + "max": 10, "member": { - "shape": "Change" + "shape": "ResaleAuthorizationStatusString" }, "min": 1, "type": "list" }, + "ResaleAuthorizationStatusString": { + "enum": [ + "Draft", + "Active", + "Restricted" + ], + "type": "string" + }, + "ResaleAuthorizationSummary": { + "members": { + "AvailabilityEndDate": { + "shape": "DateTimeISO8601" + }, + "CreatedDate": { + "shape": "DateTimeISO8601" + }, + "ManufacturerAccountId": { + "shape": "ResaleAuthorizationManufacturerAccountIdString" + }, + "ManufacturerLegalName": { + "shape": "ResaleAuthorizationManufacturerLegalNameString" + }, + "Name": { + "shape": "ResaleAuthorizationNameString" + }, + "OfferExtendedStatus": { + "shape": "ResaleAuthorizationOfferExtendedStatusString" + }, + "ProductId": { + "shape": "ResaleAuthorizationProductIdString" + }, + "ProductName": { + "shape": "ResaleAuthorizationProductNameString" + }, + "ResellerAccountID": { + "shape": "ResaleAuthorizationResellerAccountIDString" + }, + "ResellerLegalName": { + "shape": "ResaleAuthorizationResellerLegalNameString" + }, + "Status": { + "shape": "ResaleAuthorizationStatusString" + } + }, + "type": "structure" + }, "ResourceARN": { "max": 255, "min": 1, @@ -1050,6 +2308,145 @@ "pattern": "^[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+$", "type": "string" }, + "SaaSProductEntityIdFilter": { + "members": { + "ValueList": { + "shape": "SaaSProductEntityIdFilterValueList" + } + }, + "type": "structure" + }, + "SaaSProductEntityIdFilterValueList": { + "max": 10, + "member": { + "shape": "SaaSProductEntityIdString" + }, + "min": 1, + "type": "list" + }, + "SaaSProductEntityIdString": { + "max": 255, + "min": 1, + "pattern": "^[a-zA-Z0-9][.a-zA-Z0-9/-]+[a-zA-Z0-9]$", + "type": "string" + }, + "SaaSProductFilters": { + "members": { + "EntityId": { + "shape": "SaaSProductEntityIdFilter" + }, + "LastModifiedDate": { + "shape": "SaaSProductLastModifiedDateFilter" + }, + "ProductTitle": { + "shape": "SaaSProductTitleFilter" + }, + "Visibility": { + "shape": "SaaSProductVisibilityFilter" + } + }, + "type": "structure" + }, + "SaaSProductLastModifiedDateFilter": { + "members": { + "DateRange": { + "shape": "SaaSProductLastModifiedDateFilterDateRange" + } + }, + "type": "structure" + }, + "SaaSProductLastModifiedDateFilterDateRange": { + "members": { + "AfterValue": { + "shape": "DateTimeISO8601" + }, + "BeforeValue": { + "shape": "DateTimeISO8601" + } + }, + "type": "structure" + }, + "SaaSProductSort": { + "members": { + "SortBy": { + "shape": "SaaSProductSortBy" + }, + "SortOrder": { + "shape": "SortOrder" + } + }, + "type": "structure" + }, + "SaaSProductSortBy": { + "enum": [ + "EntityId", + "ProductTitle", + "Visibility", + "LastModifiedDate" + ], + "type": "string" + }, + "SaaSProductSummary": { + "members": { + "ProductTitle": { + "shape": "SaaSProductTitleString" + }, + "Visibility": { + "shape": "SaaSProductVisibilityString" + } + }, + "type": "structure" + }, + "SaaSProductTitleFilter": { + "members": { + "ValueList": { + "shape": "SaaSProductTitleFilterValueList" + }, + "WildCardValue": { + "shape": "SaaSProductTitleString" + } + }, + "type": "structure" + }, + "SaaSProductTitleFilterValueList": { + "max": 10, + "member": { + "shape": "SaaSProductTitleString" + }, + "min": 1, + "type": "list" + }, + "SaaSProductTitleString": { + "max": 255, + "min": 1, + "pattern": "^(.)+$", + "type": "string" + }, + "SaaSProductVisibilityFilter": { + "members": { + "ValueList": { + "shape": "SaaSProductVisibilityFilterValueList" + } + }, + "type": "structure" + }, + "SaaSProductVisibilityFilterValueList": { + "max": 10, + "member": { + "shape": "SaaSProductVisibilityString" + }, + "min": 1, + "type": "list" + }, + "SaaSProductVisibilityString": { + "enum": [ + "Limited", + "Public", + "Restricted", + "Draft" + ], + "type": "string" + }, "ServiceQuotaExceededException": { "error": { "httpStatusCode": 402 diff --git a/models/apis/marketplace-catalog/2018-09-17/docs-2.json b/models/apis/marketplace-catalog/2018-09-17/docs-2.json index dfa6429f57f..baf5ea3f464 100644 --- a/models/apis/marketplace-catalog/2018-09-17/docs-2.json +++ b/models/apis/marketplace-catalog/2018-09-17/docs-2.json @@ -32,6 +32,99 @@ "refs": { } }, + "AmiProductEntityIdFilter": { + "base": "

Object that allows filtering on entity id of an AMI product.

", + "refs": { + "AmiProductFilters$EntityId": "

Unique identifier for the AMI product.

" + } + }, + "AmiProductEntityIdFilterValueList": { + "base": null, + "refs": { + "AmiProductEntityIdFilter$ValueList": "

A string array of unique entity id values to be filtered on.

" + } + }, + "AmiProductEntityIdString": { + "base": null, + "refs": { + "AmiProductEntityIdFilterValueList$member": null + } + }, + "AmiProductFilters": { + "base": "

Object containing all the filter fields for AMI products. Client can add a maximum of 8 filters in a single ListEntities request.

", + "refs": { + "EntityTypeFilters$AmiProductFilters": "

A filter for AMI products.

" + } + }, + "AmiProductLastModifiedDateFilter": { + "base": "

Object that allows filtering based on the last modified date of AMI products.

", + "refs": { + "AmiProductFilters$LastModifiedDate": "

The last date on which the AMI product was modified.

" + } + }, + "AmiProductLastModifiedDateFilterDateRange": { + "base": "

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.

", + "refs": { + "AmiProductLastModifiedDateFilter$DateRange": "

Dates between which the AMI product was last modified.

" + } + }, + "AmiProductSort": { + "base": "

Objects that allows sorting on AMI products based on certain fields and sorting order.

", + "refs": { + "EntityTypeSort$AmiProductSort": "

A sort for AMI products.

" + } + }, + "AmiProductSortBy": { + "base": null, + "refs": { + "AmiProductSort$SortBy": "

Field to sort the AMI products by.

" + } + }, + "AmiProductSummary": { + "base": "

Object that contains summarized information about an AMI product.

", + "refs": { + "EntitySummary$AmiProductSummary": "

An object that contains summary information about the AMI product.

" + } + }, + "AmiProductTitleFilter": { + "base": "

Object that allows filtering on product title.

", + "refs": { + "AmiProductFilters$ProductTitle": "

The title of the AMI product.

" + } + }, + "AmiProductTitleFilterValueList": { + "base": null, + "refs": { + "AmiProductTitleFilter$ValueList": "

A string array of unique product title values to be filtered on.

" + } + }, + "AmiProductTitleString": { + "base": null, + "refs": { + "AmiProductSummary$ProductTitle": "

The title of the AMI product.

", + "AmiProductTitleFilter$WildCardValue": "

A string that will be the wildCard input for product tile filter. It matches the provided value as a substring in the actual value.

", + "AmiProductTitleFilterValueList$member": null + } + }, + "AmiProductVisibilityFilter": { + "base": "

Object that allows filtering on the visibility of the product in the AWS Marketplace.

", + "refs": { + "AmiProductFilters$Visibility": "

The visibility of the AMI product.

" + } + }, + "AmiProductVisibilityFilterValueList": { + "base": null, + "refs": { + "AmiProductVisibilityFilter$ValueList": "

A string array of unique visibility values to be filtered on.

" + } + }, + "AmiProductVisibilityString": { + "base": null, + "refs": { + "AmiProductSummary$Visibility": "

The lifecycle of the AMI product.

", + "AmiProductVisibilityFilterValueList$member": null + } + }, "CancelChangeSetRequest": { "base": null, "refs": { @@ -118,15 +211,227 @@ "StartChangeSetRequest$ClientRequestToken": "

A unique token to identify the request to ensure idempotency.

" } }, + "ContainerProductEntityIdFilter": { + "base": "

Object that allows filtering on entity id of a container product.

", + "refs": { + "ContainerProductFilters$EntityId": "

Unique identifier for the container product.

" + } + }, + "ContainerProductEntityIdFilterValueList": { + "base": null, + "refs": { + "ContainerProductEntityIdFilter$ValueList": "

A string array of unique entity id values to be filtered on.

" + } + }, + "ContainerProductEntityIdString": { + "base": null, + "refs": { + "ContainerProductEntityIdFilterValueList$member": null + } + }, + "ContainerProductFilters": { + "base": "

Object containing all the filter fields for container products. Client can add a maximum of 8 filters in a single ListEntities request.

", + "refs": { + "EntityTypeFilters$ContainerProductFilters": "

A filter for container products.

" + } + }, + "ContainerProductLastModifiedDateFilter": { + "base": "

Object that allows filtering based on the last modified date of container products.

", + "refs": { + "ContainerProductFilters$LastModifiedDate": "

The last date on which the container product was modified.

" + } + }, + "ContainerProductLastModifiedDateFilterDateRange": { + "base": "

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.

", + "refs": { + "ContainerProductLastModifiedDateFilter$DateRange": "

Dates between which the container product was last modified.

" + } + }, + "ContainerProductSort": { + "base": "

Objects that allows sorting on container products based on certain fields and sorting order.

", + "refs": { + "EntityTypeSort$ContainerProductSort": "

A sort for container products.

" + } + }, + "ContainerProductSortBy": { + "base": null, + "refs": { + "ContainerProductSort$SortBy": "

Field to sort the container products by.

" + } + }, + "ContainerProductSummary": { + "base": "

Object that contains summarized information about a container product.

", + "refs": { + "EntitySummary$ContainerProductSummary": "

An object that contains summary information about the container product.

" + } + }, + "ContainerProductTitleFilter": { + "base": "

Object that allows filtering on product title.

", + "refs": { + "ContainerProductFilters$ProductTitle": "

The title of the container product.

" + } + }, + "ContainerProductTitleFilterValueList": { + "base": null, + "refs": { + "ContainerProductTitleFilter$ValueList": "

A string array of unique product title values to be filtered on.

" + } + }, + "ContainerProductTitleString": { + "base": null, + "refs": { + "ContainerProductSummary$ProductTitle": "

The title of the container product.

", + "ContainerProductTitleFilter$WildCardValue": "

A string that will be the wildCard input for product tile filter. It matches the provided value as a substring in the actual value.

", + "ContainerProductTitleFilterValueList$member": null + } + }, + "ContainerProductVisibilityFilter": { + "base": "

Object that allows filtering on the visibility of the product in the AWS Marketplace.

", + "refs": { + "ContainerProductFilters$Visibility": "

The visibility of the container product.

" + } + }, + "ContainerProductVisibilityFilterValueList": { + "base": null, + "refs": { + "ContainerProductVisibilityFilter$ValueList": "

A string array of unique visibility values to be filtered on.

" + } + }, + "ContainerProductVisibilityString": { + "base": null, + "refs": { + "ContainerProductSummary$Visibility": "

The lifecycle of the product.

", + "ContainerProductVisibilityFilterValueList$member": null + } + }, + "DataProductEntityIdFilter": { + "base": "

Object that allows filtering on entity id of a data product.

", + "refs": { + "DataProductFilters$EntityId": "

Unique identifier for the data product.

" + } + }, + "DataProductEntityIdFilterValueList": { + "base": null, + "refs": { + "DataProductEntityIdFilter$ValueList": "

A string array of unique entity id values to be filtered on.

" + } + }, + "DataProductEntityIdString": { + "base": null, + "refs": { + "DataProductEntityIdFilterValueList$member": null + } + }, + "DataProductFilters": { + "base": "

Object containing all the filter fields for data products. Client can add a maximum of 8 filters in a single ListEntities request.

", + "refs": { + "EntityTypeFilters$DataProductFilters": "

A filter for data products.

" + } + }, + "DataProductLastModifiedDateFilter": { + "base": "

Object that allows filtering based on the last modified date of data products.

", + "refs": { + "DataProductFilters$LastModifiedDate": "

The last date on which the data product was modified.

" + } + }, + "DataProductLastModifiedDateFilterDateRange": { + "base": "

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.

", + "refs": { + "DataProductLastModifiedDateFilter$DateRange": "

Dates between which the data product was last modified.

" + } + }, + "DataProductSort": { + "base": "

Objects that allows sorting on data products based on certain fields and sorting order.

", + "refs": { + "EntityTypeSort$DataProductSort": "

A sort for data products.

" + } + }, + "DataProductSortBy": { + "base": null, + "refs": { + "DataProductSort$SortBy": "

Field to sort the data products by.

" + } + }, + "DataProductSummary": { + "base": "

Object that contains summarized information about a data product.

", + "refs": { + "EntitySummary$DataProductSummary": "

An object that contains summary information about the data product.

" + } + }, + "DataProductTitleFilter": { + "base": "

Object that allows filtering on product title.

", + "refs": { + "DataProductFilters$ProductTitle": "

The title of the data product.

" + } + }, + "DataProductTitleFilterValueList": { + "base": null, + "refs": { + "DataProductTitleFilter$ValueList": "

A string array of unique product title values to be filtered on.

" + } + }, + "DataProductTitleString": { + "base": null, + "refs": { + "DataProductSummary$ProductTitle": "

The title of the data product.

", + "DataProductTitleFilter$WildCardValue": "

A string that will be the wildCard input for product tile filter. It matches the provided value as a substring in the actual value.

", + "DataProductTitleFilterValueList$member": null + } + }, + "DataProductVisibilityFilter": { + "base": "

Object that allows filtering on the visibility of the product in the AWS Marketplace.

", + "refs": { + "DataProductFilters$Visibility": "

The visibility of the data product.

" + } + }, + "DataProductVisibilityFilterValueList": { + "base": null, + "refs": { + "DataProductVisibilityFilter$ValueList": "

A string array of unique visibility values to be filtered on.

" + } + }, + "DataProductVisibilityString": { + "base": null, + "refs": { + "DataProductSummary$Visibility": "

The lifecycle of the data product.

", + "DataProductVisibilityFilterValueList$member": null + } + }, "DateTimeISO8601": { "base": null, "refs": { + "AmiProductLastModifiedDateFilterDateRange$AfterValue": "

Date after which the AMI product was last modified.

", + "AmiProductLastModifiedDateFilterDateRange$BeforeValue": "

Date before which the AMI product was last modified.

", "ChangeSetSummaryListItem$StartTime": "

The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set was started.

", "ChangeSetSummaryListItem$EndTime": "

The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set was finished.

", + "ContainerProductLastModifiedDateFilterDateRange$AfterValue": "

Date after which the container product was last modified.

", + "ContainerProductLastModifiedDateFilterDateRange$BeforeValue": "

Date before which the container product was last modified.

", + "DataProductLastModifiedDateFilterDateRange$AfterValue": "

Date after which the data product was last modified.

", + "DataProductLastModifiedDateFilterDateRange$BeforeValue": "

Date before which the data product was last modified.

", "DescribeChangeSetResponse$StartTime": "

The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request started.

", "DescribeChangeSetResponse$EndTime": "

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.

", "DescribeEntityResponse$LastModifiedDate": "

The last modified date of the entity, in ISO 8601 format (2018-02-27T13:45:22Z).

", - "EntitySummary$LastModifiedDate": "

The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z).

" + "EntitySummary$LastModifiedDate": "

The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z).

", + "OfferAvailabilityEndDateFilterDateRange$AfterValue": "

Allows filtering on the AvailabilityEndDate of an offer after a date.

", + "OfferAvailabilityEndDateFilterDateRange$BeforeValue": "

Allows filtering on the AvailabilityEndDate of an offer before a date.

", + "OfferLastModifiedDateFilterDateRange$AfterValue": "

Allows filtering on the LastModifiedDate of an offer after a date.

", + "OfferLastModifiedDateFilterDateRange$BeforeValue": "

Allows filtering on the LastModifiedDate of an offer before a date.

", + "OfferReleaseDateFilterDateRange$AfterValue": "

Allows filtering on the ReleaseDate of offers after a date.

", + "OfferReleaseDateFilterDateRange$BeforeValue": "

Allows filtering on the ReleaseDate of offers before a date.

", + "OfferSummary$ReleaseDate": "

The release date of the offer.

", + "OfferSummary$AvailabilityEndDate": "

The availability end date of the offer.

", + "ResaleAuthorizationAvailabilityEndDateFilterDateRange$AfterValue": "

Allows filtering on AvailabilityEndDate of a ResaleAuthorization after a date.

", + "ResaleAuthorizationAvailabilityEndDateFilterDateRange$BeforeValue": "

Allows filtering on AvailabilityEndDate of a ResaleAuthorization before a date.

", + "ResaleAuthorizationAvailabilityEndDateFilterValueList$member": null, + "ResaleAuthorizationCreatedDateFilterDateRange$AfterValue": "

Allows filtering on CreatedDate of a ResaleAuthorization after a date.

", + "ResaleAuthorizationCreatedDateFilterDateRange$BeforeValue": "

Allows filtering on CreatedDate of a ResaleAuthorization before a date.

", + "ResaleAuthorizationCreatedDateFilterValueList$member": null, + "ResaleAuthorizationLastModifiedDateFilterDateRange$AfterValue": "

Allows filtering on the LastModifiedDate of a ResaleAuthorization after a date.

", + "ResaleAuthorizationLastModifiedDateFilterDateRange$BeforeValue": "

Allows filtering on the LastModifiedDate of a ResaleAuthorization before a date.

", + "ResaleAuthorizationSummary$CreatedDate": "

The created date of the ResaleAuthorization.

", + "ResaleAuthorizationSummary$AvailabilityEndDate": "

The availability end date of the ResaleAuthorization.

", + "SaaSProductLastModifiedDateFilterDateRange$AfterValue": "

Date after which the SaaS product was last modified.

", + "SaaSProductLastModifiedDateFilterDateRange$BeforeValue": "

Date before which the SaaS product was last modified.

" } }, "DeleteResourcePolicyRequest": { @@ -181,7 +486,7 @@ "EntitySummaryList": { "base": null, "refs": { - "ListEntitiesResponse$EntitySummaryList": "

Array of EntitySummary object.

" + "ListEntitiesResponse$EntitySummaryList": "

Array of EntitySummary objects.

" } }, "EntityType": { @@ -190,7 +495,19 @@ "DescribeEntityResponse$EntityType": "

The named type of the entity, in the format of EntityType@Version.

", "Entity$Type": "

The type of entity.

", "EntitySummary$EntityType": "

The type of the entity.

", - "ListEntitiesRequest$EntityType": "

The type of entities to retrieve.

" + "ListEntitiesRequest$EntityType": "

The type of entities to retrieve. Valid values are: ServerProduct, AmiProduct, ContainerProduct, DataProduct, SaaSProduct, ProcurementPolicy, Experience, Audience, BrandingSettings, Offer, Seller, ResaleAuthorization.

" + } + }, + "EntityTypeFilters": { + "base": "

Object containing all the filter fields per entity type.

", + "refs": { + "ListEntitiesRequest$EntityTypeFilters": "

A Union object containing filter shapes for all EntityTypes. Each EntityTypeFilter shape will have filters applicable for that EntityType that can be used to search or filter entities.

" + } + }, + "EntityTypeSort": { + "base": "

Object containing all the sort fields per entity type.

", + "refs": { + "ListEntitiesRequest$EntityTypeSort": "

A Union object containing Sort shapes for all EntityTypes. 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.

" } }, "ErrorCodeString": { @@ -347,6 +664,191 @@ "ListEntitiesResponse$NextToken": "

The value of the next token if it exists. Null if there is no more result.

" } }, + "OfferAvailabilityEndDateFilter": { + "base": "

Allows filtering on the AvailabilityEndDate of an offer.

", + "refs": { + "OfferFilters$AvailabilityEndDate": "

Allows filtering on the AvailabilityEndDate of an offer.

" + } + }, + "OfferAvailabilityEndDateFilterDateRange": { + "base": "

Allows filtering on the AvailabilityEndDate of an offer with date range as input.

", + "refs": { + "OfferAvailabilityEndDateFilter$DateRange": "

Allows filtering on the AvailabilityEndDate of an offer with date range as input.

" + } + }, + "OfferBuyerAccountsFilter": { + "base": "

Allows filtering on the BuyerAccounts of an offer.

", + "refs": { + "OfferFilters$BuyerAccounts": "

Allows filtering on the BuyerAccounts of an offer.

" + } + }, + "OfferBuyerAccountsFilterWildcard": { + "base": null, + "refs": { + "OfferBuyerAccountsFilter$WildCardValue": "

Allows filtering on the BuyerAccounts of an offer with wild card input.

" + } + }, + "OfferBuyerAccountsList": { + "base": null, + "refs": { + "OfferSummary$BuyerAccounts": "

The buyer accounts in the offer.

" + } + }, + "OfferBuyerAccountsString": { + "base": null, + "refs": { + "OfferBuyerAccountsList$member": null + } + }, + "OfferEntityIdFilter": { + "base": "

Allows filtering on the entity id of an offer.

", + "refs": { + "OfferFilters$EntityId": "

Allows filtering on EntityId of an offer.

" + } + }, + "OfferEntityIdFilterValueList": { + "base": null, + "refs": { + "OfferEntityIdFilter$ValueList": "

Allows filtering on entity id of an offer with list input.

" + } + }, + "OfferEntityIdString": { + "base": null, + "refs": { + "OfferEntityIdFilterValueList$member": null + } + }, + "OfferFilters": { + "base": "

A filter for offers entity.

", + "refs": { + "EntityTypeFilters$OfferFilters": "

A filter for offers.

" + } + }, + "OfferLastModifiedDateFilter": { + "base": "

Allows filtering on the LastModifiedDate of an offer.

", + "refs": { + "OfferFilters$LastModifiedDate": "

Allows filtering on the LastModifiedDate of an offer.

" + } + }, + "OfferLastModifiedDateFilterDateRange": { + "base": "

Allows filtering on the LastModifiedDate of an offer with date range as input.

", + "refs": { + "OfferLastModifiedDateFilter$DateRange": "

Allows filtering on the LastModifiedDate of an offer with date range as input.

" + } + }, + "OfferNameFilter": { + "base": "

Allows filtering on the Name of an offer.

", + "refs": { + "OfferFilters$Name": "

Allows filtering on the Name of an offer.

" + } + }, + "OfferNameFilterValueList": { + "base": null, + "refs": { + "OfferNameFilter$ValueList": "

Allows filtering on the Name of an offer with list input.

" + } + }, + "OfferNameString": { + "base": null, + "refs": { + "OfferNameFilter$WildCardValue": "

Allows filtering on the Name of an offer with wild card input.

", + "OfferNameFilterValueList$member": null, + "OfferSummary$Name": "

The name of the offer.

" + } + }, + "OfferProductIdFilter": { + "base": "

Allows filtering on the ProductId of an offer.

", + "refs": { + "OfferFilters$ProductId": "

Allows filtering on the ProductId of an offer.

" + } + }, + "OfferProductIdFilterValueList": { + "base": null, + "refs": { + "OfferProductIdFilter$ValueList": "

Allows filtering on the ProductId of an offer with list input.

" + } + }, + "OfferProductIdString": { + "base": null, + "refs": { + "OfferProductIdFilterValueList$member": null, + "OfferSummary$ProductId": "

The product ID of the offer.

" + } + }, + "OfferReleaseDateFilter": { + "base": "

Allows filtering on the ReleaseDate of an offer.

", + "refs": { + "OfferFilters$ReleaseDate": "

Allows filtering on the ReleaseDate of an offer.

" + } + }, + "OfferReleaseDateFilterDateRange": { + "base": "

Allows filtering on the ReleaseDate of an offer with date range as input.

", + "refs": { + "OfferReleaseDateFilter$DateRange": "

Allows filtering on the ReleaseDate of an offer with date range as input.

" + } + }, + "OfferSort": { + "base": "

Allows to sort offers.

", + "refs": { + "EntityTypeSort$OfferSort": "

A sort for offers.

" + } + }, + "OfferSortBy": { + "base": null, + "refs": { + "OfferSort$SortBy": "

Allows to sort offers.

" + } + }, + "OfferStateFilter": { + "base": "

Allows filtering on the State of an offer.

", + "refs": { + "OfferFilters$State": "

Allows filtering on the State of an offer.

" + } + }, + "OfferStateFilterValueList": { + "base": null, + "refs": { + "OfferStateFilter$ValueList": "

Allows filtering on the State of an offer with list input.

" + } + }, + "OfferStateString": { + "base": null, + "refs": { + "OfferStateFilterValueList$member": null, + "OfferSummary$State": "

The status of the offer.

" + } + }, + "OfferSummary": { + "base": "

Summarized information about an offer.

", + "refs": { + "EntitySummary$OfferSummary": "

An object that contains summary information about the offer.

" + } + }, + "OfferTargetingFilter": { + "base": "

Allows filtering on the Targeting of an offer.

", + "refs": { + "OfferFilters$Targeting": "

Allows filtering on the Targeting of an offer.

" + } + }, + "OfferTargetingFilterValueList": { + "base": null, + "refs": { + "OfferTargetingFilter$ValueList": "

Allows filtering on the Targeting of an offer with list input.

" + } + }, + "OfferTargetingList": { + "base": null, + "refs": { + "OfferSummary$Targeting": "

The targeting in the offer.

" + } + }, + "OfferTargetingString": { + "base": null, + "refs": { + "OfferTargetingFilterValueList$member": null, + "OfferTargetingList$member": null + } + }, "OwnershipType": { "base": null, "refs": { @@ -369,6 +871,309 @@ "StartChangeSetRequest$ChangeSet": "

Array of change object.

" } }, + "ResaleAuthorizationAvailabilityEndDateFilter": { + "base": "

Allows filtering on AvailabilityEndDate of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$AvailabilityEndDate": "

Allows filtering on the AvailabilityEndDate of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationAvailabilityEndDateFilterDateRange": { + "base": "

Allows filtering on AvailabilityEndDate of a ResaleAuthorization with date range as input.

", + "refs": { + "ResaleAuthorizationAvailabilityEndDateFilter$DateRange": "

Allows filtering on AvailabilityEndDate of a ResaleAuthorization with date range as input

" + } + }, + "ResaleAuthorizationAvailabilityEndDateFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationAvailabilityEndDateFilter$ValueList": "

Allows filtering on AvailabilityEndDate of a ResaleAuthorization with date value as input.

" + } + }, + "ResaleAuthorizationCreatedDateFilter": { + "base": "

Allows filtering on CreatedDate of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$CreatedDate": "

Allows filtering on the CreatedDate of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationCreatedDateFilterDateRange": { + "base": "

Allows filtering on CreatedDate of a ResaleAuthorization with date range as input.

", + "refs": { + "ResaleAuthorizationCreatedDateFilter$DateRange": "

Allows filtering on CreatedDate of a ResaleAuthorization with date range as input.

" + } + }, + "ResaleAuthorizationCreatedDateFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationCreatedDateFilter$ValueList": "

Allows filtering on CreatedDate of a ResaleAuthorization with date value as input.

" + } + }, + "ResaleAuthorizationEntityIdFilter": { + "base": "

Allows filtering on EntityId of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$EntityId": "

Allows filtering on the EntityId of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationEntityIdFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationEntityIdFilter$ValueList": "

Allows filtering on EntityId of a ResaleAuthorization with list input.

" + } + }, + "ResaleAuthorizationEntityIdString": { + "base": null, + "refs": { + "ResaleAuthorizationEntityIdFilterValueList$member": null + } + }, + "ResaleAuthorizationFilters": { + "base": "

A filter for ResaleAuthorization entity.

", + "refs": { + "EntityTypeFilters$ResaleAuthorizationFilters": "

A filter for Resale Authorizations.

" + } + }, + "ResaleAuthorizationLastModifiedDateFilter": { + "base": "

Allows filtering on the LastModifiedDate of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$LastModifiedDate": "

Allows filtering on the LastModifiedDate of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationLastModifiedDateFilterDateRange": { + "base": "

Allows filtering on the LastModifiedDate of a ResaleAuthorization with date range as input.

", + "refs": { + "ResaleAuthorizationLastModifiedDateFilter$DateRange": "

Allows filtering on the LastModifiedDate of a ResaleAuthorization with date range as input.

" + } + }, + "ResaleAuthorizationManufacturerAccountIdFilter": { + "base": "

Allows filtering on the ManufacturerAccountId of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$ManufacturerAccountId": "

Allows filtering on the ManufacturerAccountId of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationManufacturerAccountIdFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationManufacturerAccountIdFilter$ValueList": "

Allows filtering on the ManufacturerAccountId of a ResaleAuthorization with list input.

" + } + }, + "ResaleAuthorizationManufacturerAccountIdFilterWildcard": { + "base": null, + "refs": { + "ResaleAuthorizationManufacturerAccountIdFilter$WildCardValue": "

Allows filtering on the ManufacturerAccountId of a ResaleAuthorization with wild card input.

" + } + }, + "ResaleAuthorizationManufacturerAccountIdString": { + "base": null, + "refs": { + "ResaleAuthorizationManufacturerAccountIdFilterValueList$member": null, + "ResaleAuthorizationSummary$ManufacturerAccountId": "

The manufacturer account ID of the ResaleAuthorization.

" + } + }, + "ResaleAuthorizationManufacturerLegalNameFilter": { + "base": "

Allows filtering on the ManufacturerLegalName of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$ManufacturerLegalName": "

Allows filtering on the ManufacturerLegalName of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationManufacturerLegalNameFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationManufacturerLegalNameFilter$ValueList": "

Allows filtering on the ManufacturerLegalName of a ResaleAuthorization with list input.

" + } + }, + "ResaleAuthorizationManufacturerLegalNameFilterWildcard": { + "base": null, + "refs": { + "ResaleAuthorizationManufacturerLegalNameFilter$WildCardValue": "

Allows filtering on the ManufacturerLegalName of a ResaleAuthorization with wild card input.

" + } + }, + "ResaleAuthorizationManufacturerLegalNameString": { + "base": null, + "refs": { + "ResaleAuthorizationManufacturerLegalNameFilterValueList$member": null, + "ResaleAuthorizationSummary$ManufacturerLegalName": "

The manufacturer legal name of the ResaleAuthorization.

" + } + }, + "ResaleAuthorizationNameFilter": { + "base": "

Allows filtering on the Name of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$Name": "

Allows filtering on the Name of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationNameFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationNameFilter$ValueList": "

Allows filtering on the Name of a ResaleAuthorization with list input.

" + } + }, + "ResaleAuthorizationNameFilterWildcard": { + "base": null, + "refs": { + "ResaleAuthorizationNameFilter$WildCardValue": "

Allows filtering on the Name of a ResaleAuthorization with wild card input.

" + } + }, + "ResaleAuthorizationNameString": { + "base": null, + "refs": { + "ResaleAuthorizationNameFilterValueList$member": null, + "ResaleAuthorizationSummary$Name": "

The name of the ResaleAuthorization.

" + } + }, + "ResaleAuthorizationOfferExtendedStatusFilter": { + "base": "

Allows filtering on the OfferExtendedStatus of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$OfferExtendedStatus": "

Allows filtering on the OfferExtendedStatus of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationOfferExtendedStatusFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationOfferExtendedStatusFilter$ValueList": "

Allows filtering on the OfferExtendedStatus of a ResaleAuthorization with list input.

" + } + }, + "ResaleAuthorizationOfferExtendedStatusString": { + "base": null, + "refs": { + "ResaleAuthorizationOfferExtendedStatusFilterValueList$member": null, + "ResaleAuthorizationSummary$OfferExtendedStatus": "

The offer extended status of the ResaleAuthorization

" + } + }, + "ResaleAuthorizationProductIdFilter": { + "base": "

Allows filtering on the ProductId of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$ProductId": "

Allows filtering on the ProductId of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationProductIdFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationProductIdFilter$ValueList": "

Allows filtering on the ProductId of a ResaleAuthorization with list input.

" + } + }, + "ResaleAuthorizationProductIdFilterWildcard": { + "base": null, + "refs": { + "ResaleAuthorizationProductIdFilter$WildCardValue": "

Allows filtering on the ProductId of a ResaleAuthorization with wild card input.

" + } + }, + "ResaleAuthorizationProductIdString": { + "base": null, + "refs": { + "ResaleAuthorizationProductIdFilterValueList$member": null, + "ResaleAuthorizationSummary$ProductId": "

The product ID of the ResaleAuthorization.

" + } + }, + "ResaleAuthorizationProductNameFilter": { + "base": "

Allows filtering on the ProductName of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$ProductName": "

Allows filtering on the ProductName of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationProductNameFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationProductNameFilter$ValueList": "

Allows filtering on the ProductName of a ResaleAuthorization with list input.

" + } + }, + "ResaleAuthorizationProductNameFilterWildcard": { + "base": null, + "refs": { + "ResaleAuthorizationProductNameFilter$WildCardValue": "

Allows filtering on the ProductName of a ResaleAuthorization with wild card input.

" + } + }, + "ResaleAuthorizationProductNameString": { + "base": null, + "refs": { + "ResaleAuthorizationProductNameFilterValueList$member": null, + "ResaleAuthorizationSummary$ProductName": "

The product name of the ResaleAuthorization.

" + } + }, + "ResaleAuthorizationResellerAccountIDFilter": { + "base": "

Allows filtering on the ResellerAccountID of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$ResellerAccountID": "

Allows filtering on the ResellerAccountID of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationResellerAccountIDFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationResellerAccountIDFilter$ValueList": "

Allows filtering on the ResellerAccountID of a ResaleAuthorization with list input.

" + } + }, + "ResaleAuthorizationResellerAccountIDFilterWildcard": { + "base": null, + "refs": { + "ResaleAuthorizationResellerAccountIDFilter$WildCardValue": "

Allows filtering on the ResellerAccountID of a ResaleAuthorization with wild card input.

" + } + }, + "ResaleAuthorizationResellerAccountIDString": { + "base": null, + "refs": { + "ResaleAuthorizationResellerAccountIDFilterValueList$member": null, + "ResaleAuthorizationSummary$ResellerAccountID": "

The reseller account ID of the ResaleAuthorization.

" + } + }, + "ResaleAuthorizationResellerLegalNameFilter": { + "base": "

Allows filtering on the ResellerLegalName of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$ResellerLegalName": "

Allows filtering on the ResellerLegalName of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationResellerLegalNameFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationResellerLegalNameFilter$ValueList": "

Allows filtering on the ResellerLegalNameProductName of a ResaleAuthorization with list input.

" + } + }, + "ResaleAuthorizationResellerLegalNameFilterWildcard": { + "base": null, + "refs": { + "ResaleAuthorizationResellerLegalNameFilter$WildCardValue": "

Allows filtering on the ResellerLegalName of a ResaleAuthorization with wild card input.

" + } + }, + "ResaleAuthorizationResellerLegalNameString": { + "base": null, + "refs": { + "ResaleAuthorizationResellerLegalNameFilterValueList$member": null, + "ResaleAuthorizationSummary$ResellerLegalName": "

The reseller legal name of the ResaleAuthorization

" + } + }, + "ResaleAuthorizationSort": { + "base": "

Allows to sort ResaleAuthorization.

", + "refs": { + "EntityTypeSort$ResaleAuthorizationSort": "

A sort for Resale Authorizations.

" + } + }, + "ResaleAuthorizationSortBy": { + "base": null, + "refs": { + "ResaleAuthorizationSort$SortBy": "

Allows to sort ResaleAuthorization.

" + } + }, + "ResaleAuthorizationStatusFilter": { + "base": "

Allows filtering on the Status of a ResaleAuthorization.

", + "refs": { + "ResaleAuthorizationFilters$Status": "

Allows filtering on the Status of a ResaleAuthorization.

" + } + }, + "ResaleAuthorizationStatusFilterValueList": { + "base": null, + "refs": { + "ResaleAuthorizationStatusFilter$ValueList": "

Allows filtering on the Status of a ResaleAuthorization with list input.

" + } + }, + "ResaleAuthorizationStatusString": { + "base": null, + "refs": { + "ResaleAuthorizationStatusFilterValueList$member": null, + "ResaleAuthorizationSummary$Status": "

The status of the ResaleAuthorization.

" + } + }, + "ResaleAuthorizationSummary": { + "base": "

Summarized information about a Resale Authorization.

", + "refs": { + "EntitySummary$ResaleAuthorizationSummary": "

An object that contains summary information about the Resale Authorization.

" + } + }, "ResourceARN": { "base": null, "refs": { @@ -423,6 +1228,99 @@ "PutResourcePolicyRequest$Policy": "

The policy document to set; formatted in JSON.

" } }, + "SaaSProductEntityIdFilter": { + "base": "

Object that allows filtering on entity id of a SaaS product.

", + "refs": { + "SaaSProductFilters$EntityId": "

Unique identifier for the SaaS product.

" + } + }, + "SaaSProductEntityIdFilterValueList": { + "base": null, + "refs": { + "SaaSProductEntityIdFilter$ValueList": "

A string array of unique entity id values to be filtered on.

" + } + }, + "SaaSProductEntityIdString": { + "base": null, + "refs": { + "SaaSProductEntityIdFilterValueList$member": null + } + }, + "SaaSProductFilters": { + "base": "

Object containing all the filter fields for SaaS products. Client can add a maximum of 8 filters in a single ListEntities request.

", + "refs": { + "EntityTypeFilters$SaaSProductFilters": "

A filter for SaaS products.

" + } + }, + "SaaSProductLastModifiedDateFilter": { + "base": "

Object that allows filtering based on the last modified date of SaaS products

", + "refs": { + "SaaSProductFilters$LastModifiedDate": "

The last date on which the SaaS product was modified.

" + } + }, + "SaaSProductLastModifiedDateFilterDateRange": { + "base": "

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.

", + "refs": { + "SaaSProductLastModifiedDateFilter$DateRange": "

Dates between which the SaaS product was last modified.

" + } + }, + "SaaSProductSort": { + "base": "

Objects that allows sorting on SaaS products based on certain fields and sorting order.

", + "refs": { + "EntityTypeSort$SaaSProductSort": "

A sort for SaaS products.

" + } + }, + "SaaSProductSortBy": { + "base": null, + "refs": { + "SaaSProductSort$SortBy": "

Field to sort the SaaS products by.

" + } + }, + "SaaSProductSummary": { + "base": "

Object that contains summarized information about a SaaS product.

", + "refs": { + "EntitySummary$SaaSProductSummary": "

An object that contains summary information about the SaaS product.

" + } + }, + "SaaSProductTitleFilter": { + "base": "

Object that allows filtering on product title.

", + "refs": { + "SaaSProductFilters$ProductTitle": "

The title of the SaaS product.

" + } + }, + "SaaSProductTitleFilterValueList": { + "base": null, + "refs": { + "SaaSProductTitleFilter$ValueList": "

A string array of unique product title values to be filtered on.

" + } + }, + "SaaSProductTitleString": { + "base": null, + "refs": { + "SaaSProductSummary$ProductTitle": "

The title of the SaaS product.

", + "SaaSProductTitleFilter$WildCardValue": "

A string that will be the wildCard input for product tile filter. It matches the provided value as a substring in the actual value.

", + "SaaSProductTitleFilterValueList$member": null + } + }, + "SaaSProductVisibilityFilter": { + "base": "

Object that allows filtering on the visibility of the product in the AWS Marketplace.

", + "refs": { + "SaaSProductFilters$Visibility": "

The visibility of the SaaS product.

" + } + }, + "SaaSProductVisibilityFilterValueList": { + "base": null, + "refs": { + "SaaSProductVisibilityFilter$ValueList": "

A string array of unique visibility values to be filtered on.

" + } + }, + "SaaSProductVisibilityString": { + "base": null, + "refs": { + "SaaSProductSummary$Visibility": "

The lifecycle of the SaaS product.

", + "SaaSProductVisibilityFilterValueList$member": null + } + }, "ServiceQuotaExceededException": { "base": "

The maximum number of open requests per account has been exceeded.

", "refs": { @@ -444,6 +1342,12 @@ "SortOrder": { "base": null, "refs": { + "AmiProductSort$SortOrder": "

The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING.

", + "ContainerProductSort$SortOrder": "

The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING.

", + "DataProductSort$SortOrder": "

The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING.

", + "OfferSort$SortOrder": "

Allows to sort offers.

", + "ResaleAuthorizationSort$SortOrder": "

Allows to sort ResaleAuthorization.

", + "SaaSProductSort$SortOrder": "

The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING.

", "Sort$SortOrder": "

The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING.

" } }, diff --git a/models/apis/marketplace-catalog/2018-09-17/endpoint-rule-set-1.json b/models/apis/marketplace-catalog/2018-09-17/endpoint-rule-set-1.json index ed44d40027f..92b0fb7be3d 100644 --- a/models/apis/marketplace-catalog/2018-09-17/endpoint-rule-set-1.json +++ b/models/apis/marketplace-catalog/2018-09-17/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,11 +212,11 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -231,14 +227,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -252,7 +250,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -272,7 +269,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -283,14 +279,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -301,9 +299,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/marketplace-deployment/2023-01-25/api-2.json b/models/apis/marketplace-deployment/2023-01-25/api-2.json new file mode 100644 index 00000000000..d2b5020794e --- /dev/null +++ b/models/apis/marketplace-deployment/2023-01-25/api-2.json @@ -0,0 +1,371 @@ +{ + "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"} + ] + }, + "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"} + ], + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":204 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "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"} + ], + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "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"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "DeploymentParameterInput":{ + "type":"structure", + "required":[ + "name", + "secretString" + ], + "members":{ + "name":{"shape":"DeploymentParameterName"}, + "secretString":{"shape":"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"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true, + "retryable":{"throttling":false} + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"String", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"Tags"} + } + }, + "PutDeploymentParameterRequest":{ + "type":"structure", + "required":[ + "agreementId", + "catalog", + "deploymentParameter", + "productId" + ], + "members":{ + "agreementId":{"shape":"ResourceId"}, + "catalog":{ + "shape":"Catalog", + "location":"uri", + "locationName":"catalog" + }, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "deploymentParameter":{"shape":"DeploymentParameterInput"}, + "expirationDate":{"shape":"SyntheticTimestamp_date_time"}, + "productId":{ + "shape":"ResourceId", + "location":"uri", + "locationName":"productId" + }, + "tags":{"shape":"TagsMap"} + } + }, + "PutDeploymentParameterResponse":{ + "type":"structure", + "required":[ + "agreementId", + "deploymentParameterId", + "resourceArn" + ], + "members":{ + "agreementId":{"shape":"ResourceId"}, + "deploymentParameterId":{"shape":"DeploymentParameterResourceIdentifier"}, + "resourceArn":{"shape":"ResourceArn"}, + "tags":{"shape":"TagsMap"} + } + }, + "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"} + }, + "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"} + }, + "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", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{"shape":"Tags"} + } + }, + "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"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"String", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"StringList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "ValidationException":{ + "type":"structure", + "required":[ + "fieldName", + "message" + ], + "members":{ + "fieldName":{"shape":"String"}, + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + } +} diff --git a/models/apis/marketplace-deployment/2023-01-25/docs-2.json b/models/apis/marketplace-deployment/2023-01-25/docs-2.json new file mode 100644 index 00000000000..53838338803 --- /dev/null +++ b/models/apis/marketplace-deployment/2023-01-25/docs-2.json @@ -0,0 +1,195 @@ +{ + "version": "2.0", + "service": "

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.

", + "operations": { + "ListTagsForResource": "

Lists all tags that have been added to a deployment parameter resource.

", + "PutDeploymentParameter": "

Creates or updates a deployment parameter and is targeted by catalog and agreementId.

", + "TagResource": "

Tags a resource.

", + "UntagResource": "

Removes a tag or list of tags from a resource.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

You do not have sufficient access to perform this action.

", + "refs": { + } + }, + "Catalog": { + "base": null, + "refs": { + "PutDeploymentParameterRequest$catalog": "

The catalog related to the request. Fixed value: AWS Marketplace

" + } + }, + "ClientToken": { + "base": null, + "refs": { + "PutDeploymentParameterRequest$clientToken": "

The idempotency token for deployment parameters. A unique identifier for the new version.

" + } + }, + "ConflictException": { + "base": "

The request configuration has conflicts. For details, see the accompanying error message.

", + "refs": { + } + }, + "DeploymentParameterInput": { + "base": "

The shape containing the requested deployment parameter name and secretString.

", + "refs": { + "PutDeploymentParameterRequest$deploymentParameter": "

The deployment parameter targeted to the acceptor of an agreement for which to create the AWS Secret Manager resource.

" + } + }, + "DeploymentParameterName": { + "base": null, + "refs": { + "DeploymentParameterInput$name": "

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.

" + } + }, + "DeploymentParameterResourceIdentifier": { + "base": null, + "refs": { + "PutDeploymentParameterResponse$deploymentParameterId": "

The unique identifier of the deployment parameter.

" + } + }, + "InternalServerException": { + "base": "

There was an internal service exception.

", + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "PutDeploymentParameterRequest": { + "base": null, + "refs": { + } + }, + "PutDeploymentParameterResponse": { + "base": null, + "refs": { + } + }, + "ResourceArn": { + "base": null, + "refs": { + "PutDeploymentParameterResponse$resourceArn": "

The Amazon Resource Name (ARN) associated with the deployment parameter resource you want to create or update.

" + } + }, + "ResourceId": { + "base": null, + "refs": { + "ConflictException$resourceId": "

The unique identifier for the resource associated with the error.

", + "PutDeploymentParameterRequest$agreementId": "

The unique identifier of the agreement.

", + "PutDeploymentParameterRequest$productId": "

The product for which AWS Marketplace will save secrets for the buyer’s account.

", + "PutDeploymentParameterResponse$agreementId": "

The unique identifier of the agreement.

" + } + }, + "ResourceNotFoundException": { + "base": "

The specified resource wasn't found.

", + "refs": { + } + }, + "SecretString": { + "base": null, + "refs": { + "DeploymentParameterInput$secretString": "

The text to encrypt and store in the secret.

" + } + }, + "ServiceQuotaExceededException": { + "base": "

The maximum number of requests per account has been exceeded.

", + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "ConflictException$message": null, + "InternalServerException$message": null, + "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) associated with the deployment parameter resource you want to list tags on.

", + "ResourceNotFoundException$message": null, + "ServiceQuotaExceededException$message": null, + "StringList$member": null, + "TagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) associated with the resource you want to tag.

", + "Tags$key": null, + "Tags$value": null, + "ThrottlingException$message": null, + "UntagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) associated with the resource you want to remove the tag from.

", + "ValidationException$fieldName": "

The field name associated with the error.

", + "ValidationException$message": null + } + }, + "StringList": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

A list of key names of tags to be removed.

" + } + }, + "SyntheticTimestamp_date_time": { + "base": null, + "refs": { + "PutDeploymentParameterRequest$expirationDate": "

The date when deployment parameters expire and are scheduled for deletion.

" + } + }, + "TagKey": { + "base": null, + "refs": { + "TagsMap$key": null + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagsMap$value": null + } + }, + "Tags": { + "base": null, + "refs": { + "ListTagsForResourceResponse$tags": "

A map of key-value pairs, where each pair represents a tag present on the resource.

", + "TagResourceRequest$tags": "

A map of key-value pairs, where each pair represents a tag present on the resource.

" + } + }, + "TagsMap": { + "base": null, + "refs": { + "PutDeploymentParameterRequest$tags": "

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$tags": "

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.

" + } + }, + "ThrottlingException": { + "base": "

Too many requests.

", + "refs": { + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

An error occurred during validation.

", + "refs": { + } + } + } +} diff --git a/models/apis/marketplace-deployment/2023-01-25/endpoint-rule-set-1.json b/models/apis/marketplace-deployment/2023-01-25/endpoint-rule-set-1.json new file mode 100644 index 00000000000..2e3cbf85da5 --- /dev/null +++ b/models/apis/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/models/apis/marketplace-deployment/2023-01-25/endpoint-tests-1.json b/models/apis/marketplace-deployment/2023-01-25/endpoint-tests-1.json new file mode 100644 index 00000000000..82c509117a1 --- /dev/null +++ b/models/apis/marketplace-deployment/2023-01-25/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 diff --git a/models/apis/marketplace-deployment/2023-01-25/examples-1.json b/models/apis/marketplace-deployment/2023-01-25/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/marketplace-deployment/2023-01-25/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/marketplace-deployment/2023-01-25/paginators-1.json b/models/apis/marketplace-deployment/2023-01-25/paginators-1.json new file mode 100644 index 00000000000..5677bd8e4a2 --- /dev/null +++ b/models/apis/marketplace-deployment/2023-01-25/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/apis/redshift-serverless/2021-04-21/api-2.json b/models/apis/redshift-serverless/2021-04-21/api-2.json index 472240741f1..725d4513c8d 100644 --- a/models/apis/redshift-serverless/2021-04-21/api-2.json +++ b/models/apis/redshift-serverless/2021-04-21/api-2.json @@ -81,6 +81,22 @@ ], "idempotent":true }, + "CreateScheduledAction":{ + "name":"CreateScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateScheduledActionRequest"}, + "output":{"shape":"CreateScheduledActionResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, "CreateSnapshot":{ "name":"CreateSnapshot", "http":{ @@ -99,6 +115,24 @@ ], "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"} + ], + "idempotent":true + }, "CreateUsageLimit":{ "name":"CreateUsageLimit", "http":{ @@ -197,6 +231,21 @@ {"shape":"ValidationException"} ] }, + "DeleteScheduledAction":{ + "name":"DeleteScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteScheduledActionRequest"}, + "output":{"shape":"DeleteScheduledActionResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, "DeleteSnapshot":{ "name":"DeleteSnapshot", "http":{ @@ -213,6 +262,23 @@ ], "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"} + ], + "idempotent":true + }, "DeleteUsageLimit":{ "name":"DeleteUsageLimit", "http":{ @@ -334,6 +400,20 @@ {"shape":"ValidationException"} ] }, + "GetScheduledAction":{ + "name":"GetScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetScheduledActionRequest"}, + "output":{"shape":"GetScheduledActionResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ] + }, "GetSnapshot":{ "name":"GetSnapshot", "http":{ @@ -447,6 +527,37 @@ {"shape":"ValidationException"} ] }, + "ListScheduledActions":{ + "name":"ListScheduledActions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListScheduledActionsRequest"}, + "output":{"shape":"ListScheduledActionsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidPaginationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ] + }, + "ListSnapshotCopyConfigurations":{ + "name":"ListSnapshotCopyConfigurations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListSnapshotCopyConfigurationsRequest"}, + "output":{"shape":"ListSnapshotCopyConfigurationsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidPaginationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"} + ] + }, "ListSnapshots":{ "name":"ListSnapshots", "http":{ @@ -567,6 +678,21 @@ ], "idempotent":true }, + "RestoreTableFromRecoveryPoint":{ + "name":"RestoreTableFromRecoveryPoint", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreTableFromRecoveryPointRequest"}, + "output":{"shape":"RestoreTableFromRecoveryPointResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"} + ] + }, "RestoreTableFromSnapshot":{ "name":"RestoreTableFromSnapshot", "http":{ @@ -661,6 +787,22 @@ {"shape":"ValidationException"} ] }, + "UpdateScheduledAction":{ + "name":"UpdateScheduledAction", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateScheduledActionRequest"}, + "output":{"shape":"UpdateScheduledActionResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, "UpdateSnapshot":{ "name":"UpdateSnapshot", "http":{ @@ -676,6 +818,22 @@ {"shape":"ValidationException"} ] }, + "UpdateSnapshotCopyConfiguration":{ + "name":"UpdateSnapshotCopyConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSnapshotCopyConfigurationRequest"}, + "output":{"shape":"UpdateSnapshotCopyConfigurationResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, "UpdateUsageLimit":{ "name":"UpdateUsageLimit", "http":{ @@ -812,6 +970,7 @@ ], "members":{ "endpointName":{"shape":"String"}, + "ownerAccount":{"shape":"OwnerAccount"}, "subnetIds":{"shape":"SubnetIdList"}, "vpcSecurityGroupIds":{"shape":"VpcSecurityGroupIdList"}, "workgroupName":{"shape":"String"} @@ -847,6 +1006,53 @@ "namespace":{"shape":"Namespace"} } }, + "CreateScheduledActionRequest":{ + "type":"structure", + "required":[ + "namespaceName", + "roleArn", + "schedule", + "scheduledActionName", + "targetAction" + ], + "members":{ + "enabled":{"shape":"Boolean"}, + "endTime":{"shape":"Timestamp"}, + "namespaceName":{"shape":"NamespaceName"}, + "roleArn":{"shape":"IamRoleArn"}, + "schedule":{"shape":"Schedule"}, + "scheduledActionDescription":{"shape":"String"}, + "scheduledActionName":{"shape":"ScheduledActionName"}, + "startTime":{"shape":"Timestamp"}, + "targetAction":{"shape":"TargetAction"} + } + }, + "CreateScheduledActionResponse":{ + "type":"structure", + "members":{ + "scheduledAction":{"shape":"ScheduledActionResponse"} + } + }, + "CreateSnapshotCopyConfigurationRequest":{ + "type":"structure", + "required":[ + "destinationRegion", + "namespaceName" + ], + "members":{ + "destinationKmsKeyId":{"shape":"KmsKeyId"}, + "destinationRegion":{"shape":"String"}, + "namespaceName":{"shape":"NamespaceName"}, + "snapshotRetentionPeriod":{"shape":"Integer"} + } + }, + "CreateSnapshotCopyConfigurationResponse":{ + "type":"structure", + "required":["snapshotCopyConfiguration"], + "members":{ + "snapshotCopyConfiguration":{"shape":"SnapshotCopyConfiguration"} + } + }, "CreateSnapshotRequest":{ "type":"structure", "required":[ @@ -866,6 +1072,19 @@ "snapshot":{"shape":"Snapshot"} } }, + "CreateSnapshotScheduleActionParameters":{ + "type":"structure", + "required":[ + "namespaceName", + "snapshotNamePrefix" + ], + "members":{ + "namespaceName":{"shape":"NamespaceName"}, + "retentionPeriod":{"shape":"Integer"}, + "snapshotNamePrefix":{"shape":"SnapshotNamePrefix"}, + "tags":{"shape":"TagList"} + } + }, "CreateUsageLimitRequest":{ "type":"structure", "required":[ @@ -991,6 +1210,33 @@ "members":{ } }, + "DeleteScheduledActionRequest":{ + "type":"structure", + "required":["scheduledActionName"], + "members":{ + "scheduledActionName":{"shape":"ScheduledActionName"} + } + }, + "DeleteScheduledActionResponse":{ + "type":"structure", + "members":{ + "scheduledAction":{"shape":"ScheduledActionResponse"} + } + }, + "DeleteSnapshotCopyConfigurationRequest":{ + "type":"structure", + "required":["snapshotCopyConfigurationId"], + "members":{ + "snapshotCopyConfigurationId":{"shape":"String"} + } + }, + "DeleteSnapshotCopyConfigurationResponse":{ + "type":"structure", + "required":["snapshotCopyConfiguration"], + "members":{ + "snapshotCopyConfiguration":{"shape":"SnapshotCopyConfiguration"} + } + }, "DeleteSnapshotRequest":{ "type":"structure", "required":["snapshotName"], @@ -1153,6 +1399,19 @@ "resourcePolicy":{"shape":"ResourcePolicy"} } }, + "GetScheduledActionRequest":{ + "type":"structure", + "required":["scheduledActionName"], + "members":{ + "scheduledActionName":{"shape":"ScheduledActionName"} + } + }, + "GetScheduledActionResponse":{ + "type":"structure", + "members":{ + "scheduledAction":{"shape":"ScheduledActionResponse"} + } + }, "GetSnapshotRequest":{ "type":"structure", "members":{ @@ -1277,6 +1536,7 @@ "box":true }, "nextToken":{"shape":"String"}, + "ownerAccount":{"shape":"OwnerAccount"}, "vpcId":{"shape":"String"}, "workgroupName":{"shape":"String"} } @@ -1346,6 +1606,55 @@ "recoveryPoints":{"shape":"RecoveryPointList"} } }, + "ListScheduledActionsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListScheduledActionsRequestMaxResultsInteger", + "box":true + }, + "namespaceName":{"shape":"NamespaceName"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListScheduledActionsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListScheduledActionsResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"PaginationToken"}, + "scheduledActions":{"shape":"ScheduledActionsList"} + } + }, + "ListSnapshotCopyConfigurationsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"ListSnapshotCopyConfigurationsRequestMaxResultsInteger", + "box":true + }, + "namespaceName":{"shape":"NamespaceName"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListSnapshotCopyConfigurationsRequestMaxResultsInteger":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "ListSnapshotCopyConfigurationsResponse":{ + "type":"structure", + "required":["snapshotCopyConfigurations"], + "members":{ + "nextToken":{"shape":"PaginationToken"}, + "snapshotCopyConfigurations":{"shape":"SnapshotCopyConfigurations"} + } + }, "ListSnapshotsRequest":{ "type":"structure", "members":{ @@ -1444,7 +1753,8 @@ "shape":"ListWorkgroupsRequestMaxResultsInteger", "box":true }, - "nextToken":{"shape":"String"} + "nextToken":{"shape":"String"}, + "ownerAccount":{"shape":"OwnerAccount"} } }, "ListWorkgroupsRequestMaxResultsInteger":{ @@ -1528,6 +1838,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, @@ -1632,6 +1952,35 @@ "snapshotName":{"shape":"String"} } }, + "RestoreTableFromRecoveryPointRequest":{ + "type":"structure", + "required":[ + "namespaceName", + "newTableName", + "recoveryPointId", + "sourceDatabaseName", + "sourceTableName", + "workgroupName" + ], + "members":{ + "activateCaseSensitiveIdentifier":{"shape":"Boolean"}, + "namespaceName":{"shape":"String"}, + "newTableName":{"shape":"String"}, + "recoveryPointId":{"shape":"String"}, + "sourceDatabaseName":{"shape":"String"}, + "sourceSchemaName":{"shape":"String"}, + "sourceTableName":{"shape":"String"}, + "targetDatabaseName":{"shape":"String"}, + "targetSchemaName":{"shape":"String"}, + "workgroupName":{"shape":"String"} + } + }, + "RestoreTableFromRecoveryPointResponse":{ + "type":"structure", + "members":{ + "tableRestoreStatus":{"shape":"TableRestoreStatus"} + } + }, "RestoreTableFromSnapshotRequest":{ "type":"structure", "required":[ @@ -1661,6 +2010,40 @@ "tableRestoreStatus":{"shape":"TableRestoreStatus"} } }, + "Schedule":{ + "type":"structure", + "members":{ + "at":{"shape":"Timestamp"}, + "cron":{"shape":"String"} + }, + "union":true + }, + "ScheduledActionName":{ + "type":"string", + "max":60, + "min":3, + "pattern":"^[a-z0-9-]+$" + }, + "ScheduledActionResponse":{ + "type":"structure", + "members":{ + "endTime":{"shape":"Timestamp"}, + "namespaceName":{"shape":"NamespaceName"}, + "nextInvocations":{"shape":"NextInvocationsList"}, + "roleArn":{"shape":"IamRoleArn"}, + "schedule":{"shape":"Schedule"}, + "scheduledActionDescription":{"shape":"String"}, + "scheduledActionName":{"shape":"ScheduledActionName"}, + "scheduledActionUuid":{"shape":"String"}, + "startTime":{"shape":"Timestamp"}, + "state":{"shape":"State"}, + "targetAction":{"shape":"TargetAction"} + } + }, + "ScheduledActionsList":{ + "type":"list", + "member":{"shape":"ScheduledActionName"} + }, "SecurityGroupId":{"type":"string"}, "SecurityGroupIdList":{ "type":"list", @@ -1701,10 +2084,32 @@ "totalBackupSizeInMegaBytes":{"shape":"Double"} } }, + "SnapshotCopyConfiguration":{ + "type":"structure", + "members":{ + "destinationKmsKeyId":{"shape":"KmsKeyId"}, + "destinationRegion":{"shape":"String"}, + "namespaceName":{"shape":"NamespaceName"}, + "snapshotCopyConfigurationArn":{"shape":"String"}, + "snapshotCopyConfigurationId":{"shape":"String"}, + "snapshotRetentionPeriod":{"shape":"Integer"} + } + }, + "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":[ @@ -1716,6 +2121,13 @@ "COPYING" ] }, + "State":{ + "type":"string", + "enum":[ + "ACTIVE", + "DISABLED" + ] + }, "String":{"type":"string"}, "SubnetId":{"type":"string"}, "SubnetIdList":{ @@ -1733,6 +2145,7 @@ "namespaceName":{"shape":"String"}, "newTableName":{"shape":"String"}, "progressInMegaBytes":{"shape":"Long"}, + "recoveryPointId":{"shape":"String"}, "requestTime":{"shape":"Timestamp"}, "snapshotName":{"shape":"String"}, "sourceDatabaseName":{"shape":"String"}, @@ -1799,6 +2212,13 @@ "max":256, "min":0 }, + "TargetAction":{ + "type":"structure", + "members":{ + "createSnapshot":{"shape":"CreateSnapshotScheduleActionParameters"} + }, + "union":true + }, "ThrottlingException":{ "type":"structure", "members":{ @@ -1891,6 +2311,41 @@ "namespace":{"shape":"Namespace"} } }, + "UpdateScheduledActionRequest":{ + "type":"structure", + "required":["scheduledActionName"], + "members":{ + "enabled":{"shape":"Boolean"}, + "endTime":{"shape":"Timestamp"}, + "roleArn":{"shape":"IamRoleArn"}, + "schedule":{"shape":"Schedule"}, + "scheduledActionDescription":{"shape":"String"}, + "scheduledActionName":{"shape":"ScheduledActionName"}, + "startTime":{"shape":"Timestamp"}, + "targetAction":{"shape":"TargetAction"} + } + }, + "UpdateScheduledActionResponse":{ + "type":"structure", + "members":{ + "scheduledAction":{"shape":"ScheduledActionResponse"} + } + }, + "UpdateSnapshotCopyConfigurationRequest":{ + "type":"structure", + "required":["snapshotCopyConfigurationId"], + "members":{ + "snapshotCopyConfigurationId":{"shape":"String"}, + "snapshotRetentionPeriod":{"shape":"Integer"} + } + }, + "UpdateSnapshotCopyConfigurationResponse":{ + "type":"structure", + "required":["snapshotCopyConfiguration"], + "members":{ + "snapshotCopyConfiguration":{"shape":"SnapshotCopyConfiguration"} + } + }, "UpdateSnapshotRequest":{ "type":"structure", "required":["snapshotName"], @@ -2003,6 +2458,10 @@ "type":"list", "member":{"shape":"VpcEndpoint"} }, + "VpcIds":{ + "type":"list", + "member":{"shape":"String"} + }, "VpcSecurityGroupId":{"type":"string"}, "VpcSecurityGroupIdList":{ "type":"list", @@ -2025,6 +2484,7 @@ "baseCapacity":{"shape":"Integer"}, "configParameters":{"shape":"ConfigParameterList"}, "creationDate":{"shape":"SyntheticTimestamp_date_time"}, + "crossAccountVpcs":{"shape":"VpcIds"}, "customDomainCertificateArn":{"shape":"CustomDomainCertificateArnString"}, "customDomainCertificateExpiryTime":{"shape":"SyntheticTimestamp_date_time"}, "customDomainName":{"shape":"CustomDomainName"}, diff --git a/models/apis/redshift-serverless/2021-04-21/docs-2.json b/models/apis/redshift-serverless/2021-04-21/docs-2.json index 07a674330a2..3f5d00092df 100644 --- a/models/apis/redshift-serverless/2021-04-21/docs-2.json +++ b/models/apis/redshift-serverless/2021-04-21/docs-2.json @@ -6,14 +6,18 @@ "CreateCustomDomainAssociation": "

Creates a custom domain association for Amazon Redshift Serverless.

", "CreateEndpointAccess": "

Creates an Amazon Redshift Serverless managed VPC endpoint.

", "CreateNamespace": "

Creates a namespace in Amazon Redshift Serverless.

", + "CreateScheduledAction": "

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.

", "CreateSnapshot": "

Creates a snapshot of all databases in a namespace. For more information about snapshots, see Working with snapshots and recovery points.

", + "CreateSnapshotCopyConfiguration": "

Creates a snapshot copy configuration that lets you copy snapshots to another Amazon Web Services Region.

", "CreateUsageLimit": "

Creates a usage limit for a specified Amazon Redshift Serverless usage type. The usage limit is identified by the returned usage limit identifier.

", "CreateWorkgroup": "

Creates an workgroup in Amazon Redshift Serverless.

", "DeleteCustomDomainAssociation": "

Deletes a custom domain association for Amazon Redshift Serverless.

", "DeleteEndpointAccess": "

Deletes an Amazon Redshift Serverless managed VPC endpoint.

", "DeleteNamespace": "

Deletes a namespace from Amazon Redshift Serverless. Before you delete the namespace, you can create a final snapshot that has all of the data within the namespace.

", "DeleteResourcePolicy": "

Deletes the specified resource policy.

", + "DeleteScheduledAction": "

Deletes a scheduled action.

", "DeleteSnapshot": "

Deletes a snapshot from Amazon Redshift Serverless.

", + "DeleteSnapshotCopyConfiguration": "

Deletes a snapshot copy configuration

", "DeleteUsageLimit": "

Deletes a usage limit from Amazon Redshift Serverless.

", "DeleteWorkgroup": "

Deletes a workgroup.

", "GetCredentials": "

Returns a database user name and temporary password with temporary authorization to log in to Amazon Redshift Serverless.

By default, the temporary credentials expire in 900 seconds. You can optionally specify a duration between 900 seconds (15 minutes) and 3600 seconds (60 minutes).

 <p>The Identity and Access Management (IAM) user or role that runs GetCredentials must have an IAM policy attached that allows access to all necessary actions and resources.</p> <p>If the <code>DbName</code> parameter is specified, the IAM policy must allow access to the resource dbname for the specified database name.</p> 
", @@ -22,6 +26,7 @@ "GetNamespace": "

Returns information about a namespace in Amazon Redshift Serverless.

", "GetRecoveryPoint": "

Returns information about a recovery point.

", "GetResourcePolicy": "

Returns a resource policy.

", + "GetScheduledAction": "

Returns information about a scheduled action.

", "GetSnapshot": "

Returns information about a specific snapshot.

", "GetTableRestoreStatus": "

Returns information about a TableRestoreStatus object.

", "GetUsageLimit": "

Returns information about a usage limit.

", @@ -30,6 +35,8 @@ "ListEndpointAccess": "

Returns an array of EndpointAccess objects and relevant information.

", "ListNamespaces": "

Returns information about a list of specified namespaces.

", "ListRecoveryPoints": "

Returns an array of recovery points.

", + "ListScheduledActions": "

Returns a list of scheduled actions. You can use the flags to filter the list of returned scheduled actions.

", + "ListSnapshotCopyConfigurations": "

Returns a list of snapshot copy configurations.

", "ListSnapshots": "

Returns a list of snapshots.

", "ListTableRestoreStatus": "

Returns information about an array of TableRestoreStatus objects.

", "ListTagsForResource": "

Lists the tags assigned to a resource.

", @@ -38,13 +45,16 @@ "PutResourcePolicy": "

Creates or updates a resource policy. Currently, you can use policies to share snapshots across Amazon Web Services accounts.

", "RestoreFromRecoveryPoint": "

Restore the data from a recovery point.

", "RestoreFromSnapshot": "

Restores a namespace from a snapshot.

", + "RestoreTableFromRecoveryPoint": "

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": "

Restores a table from a snapshot to your Amazon Redshift Serverless instance. You can't use this operation to restore tables with interleaved sort keys.

", "TagResource": "

Assigns one or more tags to a resource.

", "UntagResource": "

Removes a tag or set of tags from a resource.

", "UpdateCustomDomainAssociation": "

Updates an Amazon Redshift Serverless certificate associated with a custom domain.

", "UpdateEndpointAccess": "

Updates an Amazon Redshift Serverless managed endpoint.

", "UpdateNamespace": "

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.

", + "UpdateScheduledAction": "

Updates a scheduled action.

", "UpdateSnapshot": "

Updates a snapshot.

", + "UpdateSnapshotCopyConfiguration": "

Updates a snapshot copy configuration.

", "UpdateUsageLimit": "

Update a usage limit in Amazon Redshift Serverless. You can't update the usage type or period of a usage limit.

", "UpdateWorkgroup": "

Updates a workgroup with the specified configuration settings. You can't update multiple parameters in one request. For example, you can update baseCapacity or port in a single request, but you can't update both in the same request.

" }, @@ -87,11 +97,14 @@ "base": null, "refs": { "CreateNamespaceRequest$manageAdminPassword": "

If true, Amazon Redshift uses Secrets Manager to manage the namespace's admin credentials. You can't use adminUserPassword if manageAdminPassword is true. If manageAdminPassword is false or not set, Amazon Redshift uses adminUserPassword for the admin user account's password.

", + "CreateScheduledActionRequest$enabled": "

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.

", "CreateWorkgroupRequest$enhancedVpcRouting": "

The value that specifies whether to turn on enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC instead of over the internet.

", "CreateWorkgroupRequest$publiclyAccessible": "

A value that specifies whether the workgroup can be accessed from a public network.

", "RestoreFromSnapshotRequest$manageAdminPassword": "

If true, Amazon Redshift uses Secrets Manager to manage the restored snapshot's admin credentials. If MmanageAdminPassword is false or not set, Amazon Redshift uses the admin credentials that the namespace or cluster had at the time the snapshot was taken.

", + "RestoreTableFromRecoveryPointRequest$activateCaseSensitiveIdentifier": "

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.

", "RestoreTableFromSnapshotRequest$activateCaseSensitiveIdentifier": "

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.

", "UpdateNamespaceRequest$manageAdminPassword": "

If true, Amazon Redshift uses Secrets Manager to manage the namespace's admin credentials. You can't use adminUserPassword if manageAdminPassword is true. If manageAdminPassword is false or not set, Amazon Redshift uses adminUserPassword for the admin user account's password.

", + "UpdateScheduledActionRequest$enabled": "

Specifies whether to enable the scheduled action.

", "UpdateWorkgroupRequest$enhancedVpcRouting": "

The value that specifies whether to turn on enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.

", "UpdateWorkgroupRequest$publiclyAccessible": "

A value that specifies whether the workgroup can be accessible from a public network.

", "Workgroup$enhancedVpcRouting": "

The value that specifies whether to enable enhanced virtual private cloud (VPC) routing, which forces Amazon Redshift Serverless to route traffic through your VPC.

", @@ -107,9 +120,9 @@ "ConfigParameterList": { "base": null, "refs": { - "CreateWorkgroupRequest$configParameters": "

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.

", - "UpdateWorkgroupRequest$configParameters": "

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.

", - "Workgroup$configParameters": "

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.

" + "CreateWorkgroupRequest$configParameters": "

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.

", + "UpdateWorkgroupRequest$configParameters": "

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.

", + "Workgroup$configParameters": "

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.

" } }, "ConflictException": { @@ -157,6 +170,26 @@ "refs": { } }, + "CreateScheduledActionRequest": { + "base": null, + "refs": { + } + }, + "CreateScheduledActionResponse": { + "base": null, + "refs": { + } + }, + "CreateSnapshotCopyConfigurationRequest": { + "base": null, + "refs": { + } + }, + "CreateSnapshotCopyConfigurationResponse": { + "base": null, + "refs": { + } + }, "CreateSnapshotRequest": { "base": null, "refs": { @@ -167,6 +200,12 @@ "refs": { } }, + "CreateSnapshotScheduleActionParameters": { + "base": "

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.

", + "refs": { + "TargetAction$createSnapshot": null + } + }, "CreateUsageLimitRequest": { "base": null, "refs": { @@ -279,6 +318,26 @@ "refs": { } }, + "DeleteScheduledActionRequest": { + "base": null, + "refs": { + } + }, + "DeleteScheduledActionResponse": { + "base": null, + "refs": { + } + }, + "DeleteSnapshotCopyConfigurationRequest": { + "base": null, + "refs": { + } + }, + "DeleteSnapshotCopyConfigurationResponse": { + "base": null, + "refs": { + } + }, "DeleteSnapshotRequest": { "base": null, "refs": { @@ -401,6 +460,16 @@ "refs": { } }, + "GetScheduledActionRequest": { + "base": null, + "refs": { + } + }, + "GetScheduledActionResponse": { + "base": null, + "refs": { + } + }, "GetSnapshotRequest": { "base": null, "refs": { @@ -444,7 +513,10 @@ "IamRoleArn": { "base": null, "refs": { - "IamRoleArnList$member": null + "CreateScheduledActionRequest$roleArn": "

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

", + "IamRoleArnList$member": null, + "ScheduledActionResponse$roleArn": "

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

", + "UpdateScheduledActionRequest$roleArn": "

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

" } }, "IamRoleArnList": { @@ -464,7 +536,9 @@ "base": null, "refs": { "ConvertRecoveryPointToSnapshotRequest$retentionPeriod": "

How long to retain the snapshot.

", + "CreateSnapshotCopyConfigurationRequest$snapshotRetentionPeriod": "

The retention period of the snapshots that you copy to the destination Amazon Web Services Region.

", "CreateSnapshotRequest$retentionPeriod": "

How long to retain the created snapshot.

", + "CreateSnapshotScheduleActionParameters$retentionPeriod": "

The retention period of the snapshot created by the scheduled action.

", "CreateWorkgroupRequest$baseCapacity": "

The base data warehouse capacity of the workgroup in Redshift Processing Units (RPUs).

", "CreateWorkgroupRequest$maxCapacity": "

The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.

", "CreateWorkgroupRequest$port": "

The custom port to use when connecting to a workgroup. Valid port ranges are 5431-5455 and 8191-8215. The default is 5439.

", @@ -474,6 +548,8 @@ "GetCredentialsRequest$durationSeconds": "

The number of seconds until the returned temporary password expires. The minimum is 900 seconds, and the maximum is 3600 seconds.

", "Snapshot$snapshotRemainingDays": "

The amount of days until the snapshot is deleted.

", "Snapshot$snapshotRetentionPeriod": "

The period of time, in days, of how long the snapshot is retained.

", + "SnapshotCopyConfiguration$snapshotRetentionPeriod": "

The retention period of snapshots that are copied to the destination Amazon Web Services Region.

", + "UpdateSnapshotCopyConfigurationRequest$snapshotRetentionPeriod": "

The new retention period of how long to keep a snapshot in the destination Amazon Web Services Region.

", "UpdateSnapshotRequest$retentionPeriod": "

The new retention period of the snapshot.

", "UpdateWorkgroupRequest$baseCapacity": "

The new base data warehouse capacity in Redshift Processing Units (RPUs).

", "UpdateWorkgroupRequest$maxCapacity": "

The maximum data-warehouse capacity Amazon Redshift Serverless uses to serve queries. The max capacity is specified in RPUs.

", @@ -497,10 +573,12 @@ "base": null, "refs": { "CreateNamespaceRequest$adminPasswordSecretKmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if manageAdminPassword is true.

", + "CreateSnapshotCopyConfigurationRequest$destinationKmsKeyId": "

The KMS key to use to encrypt your snapshots in the destination Amazon Web Services Region.

", "Namespace$adminPasswordSecretKmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.

", "RestoreFromSnapshotRequest$adminPasswordSecretKmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.

", "Snapshot$adminPasswordSecretKmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.

", "Snapshot$kmsKeyId": "

The unique identifier of the KMS key used to encrypt the snapshot.

", + "SnapshotCopyConfiguration$destinationKmsKeyId": "

The ID of the KMS key to use to encrypt your snapshots in the destination Amazon Web Services Region.

", "UpdateNamespaceRequest$adminPasswordSecretKmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if manageAdminPassword is true.

" } }, @@ -568,6 +646,38 @@ "refs": { } }, + "ListScheduledActionsRequest": { + "base": null, + "refs": { + } + }, + "ListScheduledActionsRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListScheduledActionsRequest$maxResults": "

An optional parameter that specifies the maximum number of results to return. Use nextToken to display the next page of results.

" + } + }, + "ListScheduledActionsResponse": { + "base": null, + "refs": { + } + }, + "ListSnapshotCopyConfigurationsRequest": { + "base": null, + "refs": { + } + }, + "ListSnapshotCopyConfigurationsRequestMaxResultsInteger": { + "base": null, + "refs": { + "ListSnapshotCopyConfigurationsRequest$maxResults": "

An optional parameter that specifies the maximum number of results to return. You can use nextToken to display the next page of results.

" + } + }, + "ListSnapshotCopyConfigurationsResponse": { + "base": null, + "refs": { + } + }, "ListSnapshotsRequest": { "base": null, "refs": { @@ -690,14 +800,21 @@ "base": null, "refs": { "CreateNamespaceRequest$namespaceName": "

The name of the namespace.

", + "CreateScheduledActionRequest$namespaceName": "

The name of the namespace for which to create a scheduled action.

", + "CreateSnapshotCopyConfigurationRequest$namespaceName": "

The name of the namespace to copy snapshots from.

", + "CreateSnapshotScheduleActionParameters$namespaceName": "

The name of the namespace for which you want to configure a scheduled action to create a snapshot.

", "CreateWorkgroupRequest$namespaceName": "

The name of the namespace to associate with the workgroup.

", "DeleteNamespaceRequest$namespaceName": "

The name of the namespace to delete.

", "GetNamespaceRequest$namespaceName": "

The name of the namespace to retrieve information for.

", "ListRecoveryPointsRequest$namespaceName": "

The name of the namespace to list recovery points for.

", + "ListScheduledActionsRequest$namespaceName": "

The name of namespace associated with the scheduled action to retrieve.

", + "ListSnapshotCopyConfigurationsRequest$namespaceName": "

The namespace from which to list all snapshot copy configurations.

", "Namespace$namespaceName": "

The name of the namespace. Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.

", "RecoveryPoint$namespaceName": "

The name of the namespace the recovery point is associated with.

", "RestoreFromRecoveryPointRequest$namespaceName": "

The name of the namespace to restore data into.

", "RestoreFromSnapshotRequest$namespaceName": "

The name of the namespace to restore the snapshot to.

", + "ScheduledActionResponse$namespaceName": "

The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.

", + "SnapshotCopyConfiguration$namespaceName": "

The name of the namespace to copy snapshots from in the source Amazon Web Services Region.

", "UpdateNamespaceRequest$namespaceName": "

The name of the namespace to update. You can't update the name of a namespace once it is created.

" } }, @@ -719,11 +836,29 @@ "VpcEndpoint$networkInterfaces": "

One or more network interfaces of the endpoint. Also known as an interface endpoint.

" } }, + "NextInvocationsList": { + "base": null, + "refs": { + "ScheduledActionResponse$nextInvocations": "

An array of timestamps of when the next scheduled actions will trigger.

" + } + }, + "OwnerAccount": { + "base": null, + "refs": { + "CreateEndpointAccessRequest$ownerAccount": "

The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.

", + "ListEndpointAccessRequest$ownerAccount": "

The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.

", + "ListWorkgroupsRequest$ownerAccount": "

The owner Amazon Web Services account for the Amazon Redshift Serverless workgroup.

" + } + }, "PaginationToken": { "base": null, "refs": { "ListCustomDomainAssociationsRequest$nextToken": "

When 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.

", "ListCustomDomainAssociationsResponse$nextToken": "

When 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.

", + "ListScheduledActionsRequest$nextToken": "

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.

", + "ListScheduledActionsResponse$nextToken": "

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.

", + "ListSnapshotCopyConfigurationsRequest$nextToken": "

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.

", + "ListSnapshotCopyConfigurationsResponse$nextToken": "

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.

", "ListTableRestoreStatusRequest$nextToken": "

If your initial ListTableRestoreStatus operation returns a nextToken, you can include the returned nextToken in following ListTableRestoreStatus operations. This will return results on the next page.

", "ListTableRestoreStatusResponse$nextToken": "

If your initial ListTableRestoreStatus operation returns a nextToken, you can include the returned nextToken in following ListTableRestoreStatus operations. This will returns results on the next page.

", "ListUsageLimitsRequest$nextToken": "

If your initial ListUsageLimits operation returns a nextToken, you can include the returned nextToken in following ListUsageLimits operations, which returns results in the next page.

", @@ -733,7 +868,7 @@ "ParameterKey": { "base": null, "refs": { - "ConfigParameter$parameterKey": "

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.

" + "ConfigParameter$parameterKey": "

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.

" } }, "ParameterValue": { @@ -803,6 +938,16 @@ "refs": { } }, + "RestoreTableFromRecoveryPointRequest": { + "base": null, + "refs": { + } + }, + "RestoreTableFromRecoveryPointResponse": { + "base": null, + "refs": { + } + }, "RestoreTableFromSnapshotRequest": { "base": null, "refs": { @@ -813,6 +958,40 @@ "refs": { } }, + "Schedule": { + "base": "

The schedule of when Amazon Redshift Serverless should run the scheduled action.

", + "refs": { + "CreateScheduledActionRequest$schedule": "

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.

", + "ScheduledActionResponse$schedule": "

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.

", + "UpdateScheduledActionRequest$schedule": "

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.

" + } + }, + "ScheduledActionName": { + "base": null, + "refs": { + "CreateScheduledActionRequest$scheduledActionName": "

The name of the scheduled action.

", + "DeleteScheduledActionRequest$scheduledActionName": "

The name of the scheduled action to delete.

", + "GetScheduledActionRequest$scheduledActionName": "

The name of the scheduled action.

", + "ScheduledActionResponse$scheduledActionName": "

The name of the scheduled action.

", + "ScheduledActionsList$member": null, + "UpdateScheduledActionRequest$scheduledActionName": "

The name of the scheduled action to update to.

" + } + }, + "ScheduledActionResponse": { + "base": "

The returned scheduled action object.

", + "refs": { + "CreateScheduledActionResponse$scheduledAction": "

The returned ScheduledAction object that describes the properties of a scheduled action.

", + "DeleteScheduledActionResponse$scheduledAction": "

The deleted scheduled action object.

", + "GetScheduledActionResponse$scheduledAction": "

The returned scheduled action object.

", + "UpdateScheduledActionResponse$scheduledAction": "

The ScheduledAction object that was updated.

" + } + }, + "ScheduledActionsList": { + "base": null, + "refs": { + "ListScheduledActionsResponse$scheduledActions": "

All of the returned scheduled action objects.

" + } + }, "SecurityGroupId": { "base": null, "refs": { @@ -843,18 +1022,45 @@ "UpdateSnapshotResponse$snapshot": "

The updated snapshot object.

" } }, + "SnapshotCopyConfiguration": { + "base": "

The object that you configure to copy snapshots from one namespace to a namespace in another Amazon Web Services Region.

", + "refs": { + "CreateSnapshotCopyConfigurationResponse$snapshotCopyConfiguration": "

The snapshot copy configuration object that is returned.

", + "DeleteSnapshotCopyConfigurationResponse$snapshotCopyConfiguration": "

The deleted snapshot copy configuration object.

", + "SnapshotCopyConfigurations$member": null, + "UpdateSnapshotCopyConfigurationResponse$snapshotCopyConfiguration": "

The updated snapshot copy configuration object.

" + } + }, + "SnapshotCopyConfigurations": { + "base": null, + "refs": { + "ListSnapshotCopyConfigurationsResponse$snapshotCopyConfigurations": "

All of the returned snapshot copy configurations.

" + } + }, "SnapshotList": { "base": null, "refs": { "ListSnapshotsResponse$snapshots": "

All of the returned snapshot objects.

" } }, + "SnapshotNamePrefix": { + "base": null, + "refs": { + "CreateSnapshotScheduleActionParameters$snapshotNamePrefix": "

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.

" + } + }, "SnapshotStatus": { "base": null, "refs": { "Snapshot$status": "

The status of the snapshot.

" } }, + "State": { + "base": null, + "refs": { + "ScheduledActionResponse$state": "

The state of the scheduled action.

" + } + }, "String": { "base": null, "refs": { @@ -869,12 +1075,15 @@ "CreateNamespaceRequest$dbName": "

The name of the first database created in the namespace.

", "CreateNamespaceRequest$defaultIamRoleArn": "

The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.

", "CreateNamespaceRequest$kmsKeyId": "

The ID of the Amazon Web Services Key Management Service key used to encrypt your data.

", + "CreateScheduledActionRequest$scheduledActionDescription": "

The description of the scheduled action.

", + "CreateSnapshotCopyConfigurationRequest$destinationRegion": "

The destination Amazon Web Services Region that you want to copy snapshots to.

", "CreateSnapshotRequest$namespaceName": "

The namespace to create a snapshot for.

", "CreateSnapshotRequest$snapshotName": "

The name of the snapshot.

", "CreateUsageLimitRequest$resourceArn": "

The Amazon Resource Name (ARN) of the Amazon Redshift Serverless resource to create the usage limit for.

", "DeleteEndpointAccessRequest$endpointName": "

The name of the VPC endpoint to delete.

", "DeleteNamespaceRequest$finalSnapshotName": "

The name of the snapshot to be created before the namespace is deleted.

", "DeleteResourcePolicyRequest$resourceArn": "

The Amazon Resource Name (ARN) of the policy to delete.

", + "DeleteSnapshotCopyConfigurationRequest$snapshotCopyConfigurationId": "

The ID of the snapshot copy configuration to delete.

", "DeleteSnapshotRequest$snapshotName": "

The name of the snapshot to be deleted.

", "DeleteUsageLimitRequest$usageLimitId": "

The unique identifier of the usage limit to delete.

", "Endpoint$address": "

The DNS address of the VPC endpoint.

", @@ -937,6 +1146,15 @@ "RestoreFromSnapshotRequest$snapshotName": "

The name of the snapshot to restore from. Must not be specified at the same time as snapshotArn.

", "RestoreFromSnapshotResponse$ownerAccount": "

The owner Amazon Web Services; account of the snapshot that was restored.

", "RestoreFromSnapshotResponse$snapshotName": "

The name of the snapshot used to restore the namespace.

", + "RestoreTableFromRecoveryPointRequest$namespaceName": "

Namespace of the recovery point to restore from.

", + "RestoreTableFromRecoveryPointRequest$newTableName": "

The name of the table to create from the restore operation.

", + "RestoreTableFromRecoveryPointRequest$recoveryPointId": "

The ID of the recovery point to restore the table from.

", + "RestoreTableFromRecoveryPointRequest$sourceDatabaseName": "

The name of the source database that contains the table being restored.

", + "RestoreTableFromRecoveryPointRequest$sourceSchemaName": "

The name of the source schema that contains the table being restored.

", + "RestoreTableFromRecoveryPointRequest$sourceTableName": "

The name of the source table being restored.

", + "RestoreTableFromRecoveryPointRequest$targetDatabaseName": "

The name of the database to restore the table to.

", + "RestoreTableFromRecoveryPointRequest$targetSchemaName": "

The name of the schema to restore the table to.

", + "RestoreTableFromRecoveryPointRequest$workgroupName": "

The workgroup to restore the table to.

", "RestoreTableFromSnapshotRequest$namespaceName": "

The namespace of the snapshot to restore from.

", "RestoreTableFromSnapshotRequest$newTableName": "

The name of the table to create from the restore operation.

", "RestoreTableFromSnapshotRequest$snapshotName": "

The name of the snapshot to restore the table from.

", @@ -946,6 +1164,9 @@ "RestoreTableFromSnapshotRequest$targetDatabaseName": "

The name of the database to restore the table to.

", "RestoreTableFromSnapshotRequest$targetSchemaName": "

The name of the schema to restore the table to.

", "RestoreTableFromSnapshotRequest$workgroupName": "

The workgroup to restore the table to.

", + "Schedule$cron": "

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.

", + "ScheduledActionResponse$scheduledActionDescription": "

The description of the scheduled action.

", + "ScheduledActionResponse$scheduledActionUuid": "

The uuid of the scheduled action.

", "ServiceQuotaExceededException$message": null, "Snapshot$adminPasswordSecretArn": "

The Amazon Resource Name (ARN) for the namespace's admin user credentials secret.

", "Snapshot$adminUsername": "

The username of the database within a snapshot.

", @@ -954,14 +1175,18 @@ "Snapshot$ownerAccount": "

The owner Amazon Web Services; account of the snapshot.

", "Snapshot$snapshotArn": "

The Amazon Resource Name (ARN) of the snapshot.

", "Snapshot$snapshotName": "

The name of the snapshot.

", - "TableRestoreStatus$message": "

A description of the status of the table restore request. Status values include SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS.

", + "SnapshotCopyConfiguration$destinationRegion": "

The destination Amazon Web Services Region to copy snapshots to.

", + "SnapshotCopyConfiguration$snapshotCopyConfigurationArn": "

The ARN of the snapshot copy configuration object.

", + "SnapshotCopyConfiguration$snapshotCopyConfigurationId": "

The ID of the snapshot copy configuration object.

", + "TableRestoreStatus$message": "

A message that explains the returned status. For example, if the status of the operation is FAILED, the message explains why the operation failed.

", "TableRestoreStatus$namespaceName": "

The namespace of the table being restored from.

", "TableRestoreStatus$newTableName": "

The name of the table to create from the restore operation.

", + "TableRestoreStatus$recoveryPointId": "

The ID of the recovery point being restored from.

", "TableRestoreStatus$snapshotName": "

The name of the snapshot being restored from.

", "TableRestoreStatus$sourceDatabaseName": "

The name of the source database being restored from.

", "TableRestoreStatus$sourceSchemaName": "

The name of the source schema being restored from.

", "TableRestoreStatus$sourceTableName": "

The name of the source table being restored from.

", - "TableRestoreStatus$status": "

A value that describes the current state of the table restore request. Possible values include SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS.

", + "TableRestoreStatus$status": "

A value that describes the current state of the table restore request. Possible values are SUCCEEDED, FAILED, CANCELED, PENDING, and IN_PROGRESS.

", "TableRestoreStatus$tableRestoreRequestId": "

The ID of the RestoreTableFromSnapshot request.

", "TableRestoreStatus$targetDatabaseName": "

The name of the database to restore to.

", "TableRestoreStatus$targetSchemaName": "

The name of the schema to restore to.

", @@ -972,6 +1197,8 @@ "UpdateEndpointAccessRequest$endpointName": "

The name of the VPC endpoint to update.

", "UpdateNamespaceRequest$defaultIamRoleArn": "

The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace. This parameter must be updated together with iamRoles.

", "UpdateNamespaceRequest$kmsKeyId": "

The ID of the Amazon Web Services Key Management Service key used to encrypt your data.

", + "UpdateScheduledActionRequest$scheduledActionDescription": "

The descripion of the scheduled action to update to.

", + "UpdateSnapshotCopyConfigurationRequest$snapshotCopyConfigurationId": "

The ID of the snapshot copy configuration to update.

", "UpdateSnapshotRequest$snapshotName": "

The name of the snapshot.

", "UpdateUsageLimitRequest$usageLimitId": "

The identifier of the usage limit to update.

", "UsageLimit$resourceArn": "

The Amazon Resource Name (ARN) that identifies the Amazon Redshift Serverless resource.

", @@ -980,6 +1207,7 @@ "ValidationException$message": null, "VpcEndpoint$vpcEndpointId": "

The connection endpoint ID for connecting to Amazon Redshift Serverless.

", "VpcEndpoint$vpcId": "

The VPC identifier that the endpoint is associated with.

", + "VpcIds$member": null, "VpcSecurityGroupMembership$status": "

The status of the VPC security group.

", "Workgroup$namespaceName": "

The namespace the workgroup is associated with.

", "Workgroup$patchVersion": "

The patch version of your Amazon Redshift Serverless workgroup. For more information about patch versions, see Cluster versions for Amazon Redshift.

", @@ -1024,6 +1252,7 @@ "base": "

Contains information about a table restore request.

", "refs": { "GetTableRestoreStatusResponse$tableRestoreStatus": "

The returned TableRestoreStatus object that contains information about the status of your RestoreTableFromSnapshot request.

", + "RestoreTableFromRecoveryPointResponse$tableRestoreStatus": null, "RestoreTableFromSnapshotResponse$tableRestoreStatus": "

The TableRestoreStatus object that contains the status of the restore operation.

", "TableRestoreStatusList$member": null } @@ -1059,6 +1288,7 @@ "ConvertRecoveryPointToSnapshotRequest$tags": "

An array of Tag objects to associate with the created snapshot.

", "CreateNamespaceRequest$tags": "

A list of tag instances.

", "CreateSnapshotRequest$tags": "

An array of Tag objects to associate with the snapshot.

", + "CreateSnapshotScheduleActionParameters$tags": "

An array of Tag objects to associate with the snapshot.

", "CreateWorkgroupRequest$tags": "

A array of tag instances.

", "ListTagsForResourceResponse$tags": "

A map of the key-value pairs assigned to the resource.

", "TagResourceRequest$tags": "

The map of the key-value pairs used to tag the resource.

" @@ -1080,6 +1310,14 @@ "Tag$value": "

The value of the tag.

" } }, + "TargetAction": { + "base": "

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\"}}\"

", + "refs": { + "CreateScheduledActionRequest$targetAction": null, + "ScheduledActionResponse$targetAction": null, + "UpdateScheduledActionRequest$targetAction": null + } + }, "ThrottlingException": { "base": "

The request was denied due to request throttling.

", "refs": { @@ -1088,13 +1326,21 @@ "Timestamp": { "base": null, "refs": { + "CreateScheduledActionRequest$endTime": "

The end time in UTC when the schedule is no longer active. After this time, the scheduled action does not trigger.

", + "CreateScheduledActionRequest$startTime": "

The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.

", "GetCredentialsResponse$expiration": "

The date and time the password in DbPassword expires.

", "GetCredentialsResponse$nextRefreshTime": "

The date and time of when the DbUser and DbPassword authorization refreshes.

", "ListRecoveryPointsRequest$endTime": "

The time when creation of the recovery point finished.

", "ListRecoveryPointsRequest$startTime": "

The time when the recovery point's creation was initiated.

", "ListSnapshotsRequest$endTime": "

The timestamp showing when the snapshot creation finished.

", "ListSnapshotsRequest$startTime": "

The time when the creation of the snapshot was initiated.

", - "TableRestoreStatus$requestTime": "

The time that the table restore request was made, in Universal Coordinated Time (UTC).

" + "NextInvocationsList$member": null, + "Schedule$at": "

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)\".

", + "ScheduledActionResponse$endTime": "

The end time of

", + "ScheduledActionResponse$startTime": "

The start time in UTC when the schedule is active. Before this time, the scheduled action does not trigger.

", + "TableRestoreStatus$requestTime": "

The time that the table restore request was made, in Universal Coordinated Time (UTC).

", + "UpdateScheduledActionRequest$endTime": "

The end time in UTC of the scheduled action to update.

", + "UpdateScheduledActionRequest$startTime": "

The start time in UTC of the scheduled action to update to.

" } }, "TooManyTagsException": { @@ -1142,6 +1388,26 @@ "refs": { } }, + "UpdateScheduledActionRequest": { + "base": null, + "refs": { + } + }, + "UpdateScheduledActionResponse": { + "base": null, + "refs": { + } + }, + "UpdateSnapshotCopyConfigurationRequest": { + "base": null, + "refs": { + } + }, + "UpdateSnapshotCopyConfigurationResponse": { + "base": null, + "refs": { + } + }, "UpdateSnapshotRequest": { "base": null, "refs": { @@ -1229,6 +1495,12 @@ "Endpoint$vpcEndpoints": "

An array of VpcEndpoint objects.

" } }, + "VpcIds": { + "base": null, + "refs": { + "Workgroup$crossAccountVpcs": "

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.

" + } + }, "VpcSecurityGroupId": { "base": null, "refs": { diff --git a/models/apis/redshift-serverless/2021-04-21/paginators-1.json b/models/apis/redshift-serverless/2021-04-21/paginators-1.json index 9a86cbe89cc..c7bd1ab7eaf 100644 --- a/models/apis/redshift-serverless/2021-04-21/paginators-1.json +++ b/models/apis/redshift-serverless/2021-04-21/paginators-1.json @@ -24,6 +24,18 @@ "limit_key": "maxResults", "result_key": "recoveryPoints" }, + "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" + }, "ListSnapshots": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 5607d660137..31291963ca1 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/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/service/marketplaceagreement/api.go b/service/marketplaceagreement/api.go new file mode 100644 index 00000000000..01ccb7cf483 --- /dev/null +++ b/service/marketplaceagreement/api.go @@ -0,0 +1,3109 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package marketplaceagreement + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" +) + +const opDescribeAgreement = "DescribeAgreement" + +// DescribeAgreementRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAgreement operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeAgreement for more information on using the DescribeAgreement +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeAgreementRequest method. +// req, resp := client.DescribeAgreementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-agreement-2020-03-01/DescribeAgreement +func (c *MarketplaceAgreement) DescribeAgreementRequest(input *DescribeAgreementInput) (req *request.Request, output *DescribeAgreementOutput) { + op := &request.Operation{ + Name: opDescribeAgreement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeAgreementInput{} + } + + output = &DescribeAgreementOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeAgreement API operation for AWS Marketplace Agreement Service. +// +// Provides details about an agreement, such as the proposer, acceptor, start +// date, and end date. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Marketplace Agreement Service's +// API operation DescribeAgreement for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints specified by the service. +// +// - AccessDeniedException +// User does not have sufficient access to perform this action. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-agreement-2020-03-01/DescribeAgreement +func (c *MarketplaceAgreement) DescribeAgreement(input *DescribeAgreementInput) (*DescribeAgreementOutput, error) { + req, out := c.DescribeAgreementRequest(input) + return out, req.Send() +} + +// DescribeAgreementWithContext is the same as DescribeAgreement with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeAgreement for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MarketplaceAgreement) DescribeAgreementWithContext(ctx aws.Context, input *DescribeAgreementInput, opts ...request.Option) (*DescribeAgreementOutput, error) { + req, out := c.DescribeAgreementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetAgreementTerms = "GetAgreementTerms" + +// GetAgreementTermsRequest generates a "aws/request.Request" representing the +// client's request for the GetAgreementTerms operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetAgreementTerms for more information on using the GetAgreementTerms +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetAgreementTermsRequest method. +// req, resp := client.GetAgreementTermsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-agreement-2020-03-01/GetAgreementTerms +func (c *MarketplaceAgreement) GetAgreementTermsRequest(input *GetAgreementTermsInput) (req *request.Request, output *GetAgreementTermsOutput) { + op := &request.Operation{ + Name: opGetAgreementTerms, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetAgreementTermsInput{} + } + + output = &GetAgreementTermsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAgreementTerms API operation for AWS Marketplace Agreement Service. +// +// 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Marketplace Agreement Service's +// API operation GetAgreementTerms for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints specified by the service. +// +// - AccessDeniedException +// User does not have sufficient access to perform this action. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-agreement-2020-03-01/GetAgreementTerms +func (c *MarketplaceAgreement) GetAgreementTerms(input *GetAgreementTermsInput) (*GetAgreementTermsOutput, error) { + req, out := c.GetAgreementTermsRequest(input) + return out, req.Send() +} + +// GetAgreementTermsWithContext is the same as GetAgreementTerms with the addition of +// the ability to pass a context and additional request options. +// +// See GetAgreementTerms for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MarketplaceAgreement) GetAgreementTermsWithContext(ctx aws.Context, input *GetAgreementTermsInput, opts ...request.Option) (*GetAgreementTermsOutput, error) { + req, out := c.GetAgreementTermsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetAgreementTermsPages iterates over the pages of a GetAgreementTerms operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetAgreementTerms method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a GetAgreementTerms operation. +// pageNum := 0 +// err := client.GetAgreementTermsPages(params, +// func(page *marketplaceagreement.GetAgreementTermsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MarketplaceAgreement) GetAgreementTermsPages(input *GetAgreementTermsInput, fn func(*GetAgreementTermsOutput, bool) bool) error { + return c.GetAgreementTermsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetAgreementTermsPagesWithContext same as GetAgreementTermsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MarketplaceAgreement) GetAgreementTermsPagesWithContext(ctx aws.Context, input *GetAgreementTermsInput, fn func(*GetAgreementTermsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetAgreementTermsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetAgreementTermsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetAgreementTermsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opSearchAgreements = "SearchAgreements" + +// SearchAgreementsRequest generates a "aws/request.Request" representing the +// client's request for the SearchAgreements operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SearchAgreements for more information on using the SearchAgreements +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the SearchAgreementsRequest method. +// req, resp := client.SearchAgreementsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-agreement-2020-03-01/SearchAgreements +func (c *MarketplaceAgreement) SearchAgreementsRequest(input *SearchAgreementsInput) (req *request.Request, output *SearchAgreementsOutput) { + op := &request.Operation{ + Name: opSearchAgreements, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchAgreementsInput{} + } + + output = &SearchAgreementsOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchAgreements API operation for AWS Marketplace Agreement Service. +// +// 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 +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Marketplace Agreement Service's +// API operation SearchAgreements for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints specified by the service. +// +// - AccessDeniedException +// User does not have sufficient access to perform this action. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-agreement-2020-03-01/SearchAgreements +func (c *MarketplaceAgreement) SearchAgreements(input *SearchAgreementsInput) (*SearchAgreementsOutput, error) { + req, out := c.SearchAgreementsRequest(input) + return out, req.Send() +} + +// SearchAgreementsWithContext is the same as SearchAgreements with the addition of +// the ability to pass a context and additional request options. +// +// See SearchAgreements for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MarketplaceAgreement) SearchAgreementsWithContext(ctx aws.Context, input *SearchAgreementsInput, opts ...request.Option) (*SearchAgreementsOutput, error) { + req, out := c.SearchAgreementsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchAgreementsPages iterates over the pages of a SearchAgreements operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchAgreements method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a SearchAgreements operation. +// pageNum := 0 +// err := client.SearchAgreementsPages(params, +// func(page *marketplaceagreement.SearchAgreementsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MarketplaceAgreement) SearchAgreementsPages(input *SearchAgreementsInput, fn func(*SearchAgreementsOutput, bool) bool) error { + return c.SearchAgreementsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchAgreementsPagesWithContext same as SearchAgreementsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MarketplaceAgreement) SearchAgreementsPagesWithContext(ctx aws.Context, input *SearchAgreementsInput, fn func(*SearchAgreementsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchAgreementsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchAgreementsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchAgreementsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +// A subset of terms proposed by the proposer, which have been accepted by the +// acceptor as part of agreement creation. +type AcceptedTerm struct { + _ struct{} `type:"structure"` + + // 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. + ByolPricingTerm *ByolPricingTerm `locationName:"byolPricingTerm" type:"structure"` + + // Defines a prepaid payment model that allows buyers to configure the entitlements + // they want to purchase and the duration. + ConfigurableUpfrontPricingTerm *ConfigurableUpfrontPricingTerm `locationName:"configurableUpfrontPricingTerm" type:"structure"` + + // Defines a pre-paid pricing model where the customers are charged a fixed + // upfront amount. + FixedUpfrontPricingTerm *FixedUpfrontPricingTerm `locationName:"fixedUpfrontPricingTerm" type:"structure"` + + // Defines a short-term free pricing model where the buyers aren’t charged + // anything within a specified limit. + FreeTrialPricingTerm *FreeTrialPricingTerm `locationName:"freeTrialPricingTerm" type:"structure"` + + // Defines the list of text agreements proposed to the acceptors. An example + // is the end user license agreement (EULA). + LegalTerm *LegalTerm `locationName:"legalTerm" type:"structure"` + + // 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. + PaymentScheduleTerm *PaymentScheduleTerm `locationName:"paymentScheduleTerm" type:"structure"` + + // Defines a pricing model where customers are charged a fixed recurring price + // at the end of each billing period. + RecurringPaymentTerm *RecurringPaymentTerm `locationName:"recurringPaymentTerm" type:"structure"` + + // 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. + RenewalTerm *RenewalTerm `locationName:"renewalTerm" type:"structure"` + + // Defines the customer support available for the acceptors when they purchase + // the software. + SupportTerm *SupportTerm `locationName:"supportTerm" type:"structure"` + + // Defines a usage-based pricing model (typically, pay-as-you-go pricing), where + // the customers are charged based on product usage. + UsageBasedPricingTerm *UsageBasedPricingTerm `locationName:"usageBasedPricingTerm" type:"structure"` + + // Defines the conditions that will keep an agreement created from this offer + // valid. + ValidityTerm *ValidityTerm `locationName:"validityTerm" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceptedTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AcceptedTerm) GoString() string { + return s.String() +} + +// SetByolPricingTerm sets the ByolPricingTerm field's value. +func (s *AcceptedTerm) SetByolPricingTerm(v *ByolPricingTerm) *AcceptedTerm { + s.ByolPricingTerm = v + return s +} + +// SetConfigurableUpfrontPricingTerm sets the ConfigurableUpfrontPricingTerm field's value. +func (s *AcceptedTerm) SetConfigurableUpfrontPricingTerm(v *ConfigurableUpfrontPricingTerm) *AcceptedTerm { + s.ConfigurableUpfrontPricingTerm = v + return s +} + +// SetFixedUpfrontPricingTerm sets the FixedUpfrontPricingTerm field's value. +func (s *AcceptedTerm) SetFixedUpfrontPricingTerm(v *FixedUpfrontPricingTerm) *AcceptedTerm { + s.FixedUpfrontPricingTerm = v + return s +} + +// SetFreeTrialPricingTerm sets the FreeTrialPricingTerm field's value. +func (s *AcceptedTerm) SetFreeTrialPricingTerm(v *FreeTrialPricingTerm) *AcceptedTerm { + s.FreeTrialPricingTerm = v + return s +} + +// SetLegalTerm sets the LegalTerm field's value. +func (s *AcceptedTerm) SetLegalTerm(v *LegalTerm) *AcceptedTerm { + s.LegalTerm = v + return s +} + +// SetPaymentScheduleTerm sets the PaymentScheduleTerm field's value. +func (s *AcceptedTerm) SetPaymentScheduleTerm(v *PaymentScheduleTerm) *AcceptedTerm { + s.PaymentScheduleTerm = v + return s +} + +// SetRecurringPaymentTerm sets the RecurringPaymentTerm field's value. +func (s *AcceptedTerm) SetRecurringPaymentTerm(v *RecurringPaymentTerm) *AcceptedTerm { + s.RecurringPaymentTerm = v + return s +} + +// SetRenewalTerm sets the RenewalTerm field's value. +func (s *AcceptedTerm) SetRenewalTerm(v *RenewalTerm) *AcceptedTerm { + s.RenewalTerm = v + return s +} + +// SetSupportTerm sets the SupportTerm field's value. +func (s *AcceptedTerm) SetSupportTerm(v *SupportTerm) *AcceptedTerm { + s.SupportTerm = v + return s +} + +// SetUsageBasedPricingTerm sets the UsageBasedPricingTerm field's value. +func (s *AcceptedTerm) SetUsageBasedPricingTerm(v *UsageBasedPricingTerm) *AcceptedTerm { + s.UsageBasedPricingTerm = v + return s +} + +// SetValidityTerm sets the ValidityTerm field's value. +func (s *AcceptedTerm) SetValidityTerm(v *ValidityTerm) *AcceptedTerm { + s.ValidityTerm = v + return s +} + +// The details of the party accepting the agreement terms. This is commonly +// the buyer for PurchaseAgreement. +type Acceptor struct { + _ struct{} `type:"structure"` + + // The AWS account ID of the acceptor. + AccountId *string `locationName:"accountId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Acceptor) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Acceptor) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *Acceptor) SetAccountId(v string) *Acceptor { + s.AccountId = &v + return s +} + +// User does not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" min:"1" type:"string"` + + // The unique identifier for the error. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A summary of the agreement, including top-level attributes (for example, +// the agreement ID, version, proposer, and acceptor). +type AgreementViewSummary struct { + _ struct{} `type:"structure"` + + // The date and time that the agreement was accepted. + AcceptanceTime *time.Time `locationName:"acceptanceTime" type:"timestamp"` + + // Details of the party accepting the agreement terms. This is commonly the + // buyer for PurchaseAgreement. + Acceptor *Acceptor `locationName:"acceptor" type:"structure"` + + // The unique identifier of the agreement. + AgreementId *string `locationName:"agreementId" min:"1" type:"string"` + + // The type of agreement. Values are PurchaseAgreement or VendorInsightsAgreement. + AgreementType *string `locationName:"agreementType" min:"1" type:"string"` + + // The date and time when the agreement ends. The field is null for pay-as-you-go + // agreements, which don’t have end dates. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // A summary of the proposal + ProposalSummary *ProposalSummary `locationName:"proposalSummary" type:"structure"` + + // Details of the party proposing the agreement terms, most commonly the seller + // for PurchaseAgreement. + Proposer *Proposer `locationName:"proposer" type:"structure"` + + // The date and time when the agreement starts. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // The current status of the agreement. + Status *string `locationName:"status" type:"string" enum:"AgreementStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AgreementViewSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AgreementViewSummary) GoString() string { + return s.String() +} + +// SetAcceptanceTime sets the AcceptanceTime field's value. +func (s *AgreementViewSummary) SetAcceptanceTime(v time.Time) *AgreementViewSummary { + s.AcceptanceTime = &v + return s +} + +// SetAcceptor sets the Acceptor field's value. +func (s *AgreementViewSummary) SetAcceptor(v *Acceptor) *AgreementViewSummary { + s.Acceptor = v + return s +} + +// SetAgreementId sets the AgreementId field's value. +func (s *AgreementViewSummary) SetAgreementId(v string) *AgreementViewSummary { + s.AgreementId = &v + return s +} + +// SetAgreementType sets the AgreementType field's value. +func (s *AgreementViewSummary) SetAgreementType(v string) *AgreementViewSummary { + s.AgreementType = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *AgreementViewSummary) SetEndTime(v time.Time) *AgreementViewSummary { + s.EndTime = &v + return s +} + +// SetProposalSummary sets the ProposalSummary field's value. +func (s *AgreementViewSummary) SetProposalSummary(v *ProposalSummary) *AgreementViewSummary { + s.ProposalSummary = v + return s +} + +// SetProposer sets the Proposer field's value. +func (s *AgreementViewSummary) SetProposer(v *Proposer) *AgreementViewSummary { + s.Proposer = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *AgreementViewSummary) SetStartTime(v time.Time) *AgreementViewSummary { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AgreementViewSummary) SetStatus(v string) *AgreementViewSummary { + s.Status = &v + return s +} + +// Enables you and your customers to move your existing agreements to AWS Marketplace. +// The customer won't be charged for product usage in AWS Marketplace because +// they already paid for the product outside of AWS Marketplace. +type ByolPricingTerm struct { + _ struct{} `type:"structure"` + + // Type of the term being updated. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ByolPricingTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ByolPricingTerm) GoString() string { + return s.String() +} + +// SetType sets the Type field's value. +func (s *ByolPricingTerm) SetType(v string) *ByolPricingTerm { + s.Type = &v + return s +} + +// Defines a prepaid payment model that allows buyers to configure the entitlements +// they want to purchase and the duration. +type ConfigurableUpfrontPricingTerm struct { + _ struct{} `type:"structure"` + + // Additional parameters specified by the acceptor while accepting the term. + Configuration *ConfigurableUpfrontPricingTermConfiguration `locationName:"configuration" type:"structure"` + + // Defines the currency for the prices mentioned in the term. + CurrencyCode *string `locationName:"currencyCode" min:"3" type:"string"` + + // A rate card defines the per unit rates for product dimensions. + RateCards []*ConfigurableUpfrontRateCardItem `locationName:"rateCards" type:"list"` + + // Category of selector. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfigurableUpfrontPricingTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfigurableUpfrontPricingTerm) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *ConfigurableUpfrontPricingTerm) SetConfiguration(v *ConfigurableUpfrontPricingTermConfiguration) *ConfigurableUpfrontPricingTerm { + s.Configuration = v + return s +} + +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *ConfigurableUpfrontPricingTerm) SetCurrencyCode(v string) *ConfigurableUpfrontPricingTerm { + s.CurrencyCode = &v + return s +} + +// SetRateCards sets the RateCards field's value. +func (s *ConfigurableUpfrontPricingTerm) SetRateCards(v []*ConfigurableUpfrontRateCardItem) *ConfigurableUpfrontPricingTerm { + s.RateCards = v + return s +} + +// SetType sets the Type field's value. +func (s *ConfigurableUpfrontPricingTerm) SetType(v string) *ConfigurableUpfrontPricingTerm { + s.Type = &v + return s +} + +// Defines a prepaid payment model that allows buyers to configure the entitlements +// they want to purchase and the duration. +type ConfigurableUpfrontPricingTermConfiguration struct { + _ struct{} `type:"structure"` + + // Defines the dimensions that the acceptor has purchased from the overall set + // of dimensions presented in the rate card. + // + // Dimensions is a required field + Dimensions []*Dimension `locationName:"dimensions" min:"1" type:"list" required:"true"` + + // Defines the length of time for which the particular pricing/dimension is + // being purchased by the acceptor. + // + // SelectorValue is a required field + SelectorValue *string `locationName:"selectorValue" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfigurableUpfrontPricingTermConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfigurableUpfrontPricingTermConfiguration) GoString() string { + return s.String() +} + +// SetDimensions sets the Dimensions field's value. +func (s *ConfigurableUpfrontPricingTermConfiguration) SetDimensions(v []*Dimension) *ConfigurableUpfrontPricingTermConfiguration { + s.Dimensions = v + return s +} + +// SetSelectorValue sets the SelectorValue field's value. +func (s *ConfigurableUpfrontPricingTermConfiguration) SetSelectorValue(v string) *ConfigurableUpfrontPricingTermConfiguration { + s.SelectorValue = &v + return s +} + +// Within the prepaid payment model defined under ConfigurableUpfrontPricingTerm, +// the RateCardItem defines all the various rate cards (including pricing and +// dimensions) that have been proposed. +type ConfigurableUpfrontRateCardItem struct { + _ struct{} `type:"structure"` + + // Defines limits on how the term can be configured by acceptors. + Constraints *Constraints `locationName:"constraints" type:"structure"` + + // Defines the per unit rates for product dimensions. + RateCard []*RateCardItem `locationName:"rateCard" type:"list"` + + // Differentiates between the mutually exclusive rate cards in the same pricing + // term to be selected by the buyer. + Selector *Selector `locationName:"selector" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfigurableUpfrontRateCardItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfigurableUpfrontRateCardItem) GoString() string { + return s.String() +} + +// SetConstraints sets the Constraints field's value. +func (s *ConfigurableUpfrontRateCardItem) SetConstraints(v *Constraints) *ConfigurableUpfrontRateCardItem { + s.Constraints = v + return s +} + +// SetRateCard sets the RateCard field's value. +func (s *ConfigurableUpfrontRateCardItem) SetRateCard(v []*RateCardItem) *ConfigurableUpfrontRateCardItem { + s.RateCard = v + return s +} + +// SetSelector sets the Selector field's value. +func (s *ConfigurableUpfrontRateCardItem) SetSelector(v *Selector) *ConfigurableUpfrontRateCardItem { + s.Selector = v + return s +} + +// Defines limits on how the term can be configured by acceptors. +type Constraints struct { + _ struct{} `type:"structure"` + + // 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. + MultipleDimensionSelection *string `locationName:"multipleDimensionSelection" min:"1" type:"string"` + + // Determines if acceptors are allowed to configure quantity for each dimension + // in rate card. The possible values are Allowed and Disallowed. The default + // value is Allowed. + QuantityConfiguration *string `locationName:"quantityConfiguration" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Constraints) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Constraints) GoString() string { + return s.String() +} + +// SetMultipleDimensionSelection sets the MultipleDimensionSelection field's value. +func (s *Constraints) SetMultipleDimensionSelection(v string) *Constraints { + s.MultipleDimensionSelection = &v + return s +} + +// SetQuantityConfiguration sets the QuantityConfiguration field's value. +func (s *Constraints) SetQuantityConfiguration(v string) *Constraints { + s.QuantityConfiguration = &v + return s +} + +type DescribeAgreementInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the agreement. + // + // AgreementId is a required field + AgreementId *string `locationName:"agreementId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeAgreementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeAgreementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAgreementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAgreementInput"} + if s.AgreementId == nil { + invalidParams.Add(request.NewErrParamRequired("AgreementId")) + } + if s.AgreementId != nil && len(*s.AgreementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AgreementId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAgreementId sets the AgreementId field's value. +func (s *DescribeAgreementInput) SetAgreementId(v string) *DescribeAgreementInput { + s.AgreementId = &v + return s +} + +type DescribeAgreementOutput struct { + _ struct{} `type:"structure"` + + // The date and time the offer was accepted or the agreement was created. + // + // AcceptanceTime and StartTime can differ for future dated agreements (FDAs). + AcceptanceTime *time.Time `locationName:"acceptanceTime" type:"timestamp"` + + // The details of the party accepting the agreement terms. This is commonly + // the buyer for PurchaseAgreement. + Acceptor *Acceptor `locationName:"acceptor" type:"structure"` + + // The unique identifier of the agreement. + AgreementId *string `locationName:"agreementId" min:"1" type:"string"` + + // The type of agreement. Values are PurchaseAgreement or VendorInsightsAgreement. + AgreementType *string `locationName:"agreementType" min:"1" type:"string"` + + // The date and time when the agreement ends. The field is null for pay-as-you-go + // agreements, which don’t have end dates. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The estimated cost of the agreement. + EstimatedCharges *EstimatedCharges `locationName:"estimatedCharges" type:"structure"` + + // A summary of the proposal received from the proposer. + ProposalSummary *ProposalSummary `locationName:"proposalSummary" type:"structure"` + + // The details of the party proposing the agreement terms. This is commonly + // the seller for PurchaseAgreement. + Proposer *Proposer `locationName:"proposer" type:"structure"` + + // The date and time when the agreement starts. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // 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). + Status *string `locationName:"status" type:"string" enum:"AgreementStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeAgreementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeAgreementOutput) GoString() string { + return s.String() +} + +// SetAcceptanceTime sets the AcceptanceTime field's value. +func (s *DescribeAgreementOutput) SetAcceptanceTime(v time.Time) *DescribeAgreementOutput { + s.AcceptanceTime = &v + return s +} + +// SetAcceptor sets the Acceptor field's value. +func (s *DescribeAgreementOutput) SetAcceptor(v *Acceptor) *DescribeAgreementOutput { + s.Acceptor = v + return s +} + +// SetAgreementId sets the AgreementId field's value. +func (s *DescribeAgreementOutput) SetAgreementId(v string) *DescribeAgreementOutput { + s.AgreementId = &v + return s +} + +// SetAgreementType sets the AgreementType field's value. +func (s *DescribeAgreementOutput) SetAgreementType(v string) *DescribeAgreementOutput { + s.AgreementType = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *DescribeAgreementOutput) SetEndTime(v time.Time) *DescribeAgreementOutput { + s.EndTime = &v + return s +} + +// SetEstimatedCharges sets the EstimatedCharges field's value. +func (s *DescribeAgreementOutput) SetEstimatedCharges(v *EstimatedCharges) *DescribeAgreementOutput { + s.EstimatedCharges = v + return s +} + +// SetProposalSummary sets the ProposalSummary field's value. +func (s *DescribeAgreementOutput) SetProposalSummary(v *ProposalSummary) *DescribeAgreementOutput { + s.ProposalSummary = v + return s +} + +// SetProposer sets the Proposer field's value. +func (s *DescribeAgreementOutput) SetProposer(v *Proposer) *DescribeAgreementOutput { + s.Proposer = v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *DescribeAgreementOutput) SetStartTime(v time.Time) *DescribeAgreementOutput { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeAgreementOutput) SetStatus(v string) *DescribeAgreementOutput { + s.Status = &v + return s +} + +// Defines the dimensions that the acceptor has purchased from the overall set +// of dimensions presented in the rate card. +type Dimension struct { + _ struct{} `type:"structure"` + + // The name of key value of the dimension. + // + // DimensionKey is a required field + DimensionKey *string `locationName:"dimensionKey" min:"1" type:"string" required:"true"` + + // 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. + // + // DimensionValue is a required field + DimensionValue *int64 `locationName:"dimensionValue" type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Dimension) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Dimension) GoString() string { + return s.String() +} + +// SetDimensionKey sets the DimensionKey field's value. +func (s *Dimension) SetDimensionKey(v string) *Dimension { + s.DimensionKey = &v + return s +} + +// SetDimensionValue sets the DimensionValue field's value. +func (s *Dimension) SetDimensionValue(v int64) *Dimension { + s.DimensionValue = &v + return s +} + +// Includes the list of references to legal resources proposed by the proposer +// to the acceptor. Each DocumentItem refers to an individual reference. +type DocumentItem struct { + _ struct{} `type:"structure"` + + // 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. + Type *string `locationName:"type" min:"1" type:"string"` + + // A URL to the legal document for buyers to read. Required when Type is CustomEula. + Url *string `locationName:"url" min:"1" type:"string"` + + // Version of standard contracts provided by AWS Marketplace. Required when + // Type is StandardEula or StandardDsa. + Version *string `locationName:"version" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DocumentItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DocumentItem) GoString() string { + return s.String() +} + +// SetType sets the Type field's value. +func (s *DocumentItem) SetType(v string) *DocumentItem { + s.Type = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *DocumentItem) SetUrl(v string) *DocumentItem { + s.Url = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *DocumentItem) SetVersion(v string) *DocumentItem { + s.Version = &v + return s +} + +// Estimated cost of the agreement. +type EstimatedCharges struct { + _ struct{} `type:"structure"` + + // 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. + AgreementValue *string `locationName:"agreementValue" min:"1" type:"string"` + + // Defines the currency code for the charge. + CurrencyCode *string `locationName:"currencyCode" min:"3" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EstimatedCharges) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EstimatedCharges) GoString() string { + return s.String() +} + +// SetAgreementValue sets the AgreementValue field's value. +func (s *EstimatedCharges) SetAgreementValue(v string) *EstimatedCharges { + s.AgreementValue = &v + return s +} + +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *EstimatedCharges) SetCurrencyCode(v string) *EstimatedCharges { + s.CurrencyCode = &v + return s +} + +// 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. +type Filter struct { + _ struct{} `type:"structure"` + + // The name of the filter. + Name *string `locationName:"name" min:"1" type:"string"` + + // The filter value. + Values []*string `locationName:"values" min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + +// Defines a prepaid pricing model where the customers are charged a fixed upfront +// amount. +type FixedUpfrontPricingTerm struct { + _ struct{} `type:"structure"` + + // Defines the currency for the prices mentioned in this term. + CurrencyCode *string `locationName:"currencyCode" min:"3" type:"string"` + + // Contract duration for the terms. + Duration *string `locationName:"duration" min:"1" type:"string"` + + // Entitlements granted to the acceptor of fixed upfront as part of agreement + // execution. + Grants []*GrantItem `locationName:"grants" type:"list"` + + // Fixed amount to be charged to the customer when this term is accepted. + Price *string `locationName:"price" min:"1" type:"string"` + + // Category of the term being updated. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FixedUpfrontPricingTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FixedUpfrontPricingTerm) GoString() string { + return s.String() +} + +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *FixedUpfrontPricingTerm) SetCurrencyCode(v string) *FixedUpfrontPricingTerm { + s.CurrencyCode = &v + return s +} + +// SetDuration sets the Duration field's value. +func (s *FixedUpfrontPricingTerm) SetDuration(v string) *FixedUpfrontPricingTerm { + s.Duration = &v + return s +} + +// SetGrants sets the Grants field's value. +func (s *FixedUpfrontPricingTerm) SetGrants(v []*GrantItem) *FixedUpfrontPricingTerm { + s.Grants = v + return s +} + +// SetPrice sets the Price field's value. +func (s *FixedUpfrontPricingTerm) SetPrice(v string) *FixedUpfrontPricingTerm { + s.Price = &v + return s +} + +// SetType sets the Type field's value. +func (s *FixedUpfrontPricingTerm) SetType(v string) *FixedUpfrontPricingTerm { + s.Type = &v + return s +} + +// Defines a short-term free pricing model where the buyers aren’t charged +// anything within a specified limit. +type FreeTrialPricingTerm struct { + _ struct{} `type:"structure"` + + // Duration of the free trial period (5–31 days). + Duration *string `locationName:"duration" min:"1" type:"string"` + + // Entitlements granted to the acceptor of a free trial as part of an agreement + // execution. + Grants []*GrantItem `locationName:"grants" type:"list"` + + // Category of the term. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FreeTrialPricingTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s FreeTrialPricingTerm) GoString() string { + return s.String() +} + +// SetDuration sets the Duration field's value. +func (s *FreeTrialPricingTerm) SetDuration(v string) *FreeTrialPricingTerm { + s.Duration = &v + return s +} + +// SetGrants sets the Grants field's value. +func (s *FreeTrialPricingTerm) SetGrants(v []*GrantItem) *FreeTrialPricingTerm { + s.Grants = v + return s +} + +// SetType sets the Type field's value. +func (s *FreeTrialPricingTerm) SetType(v string) *FreeTrialPricingTerm { + s.Type = &v + return s +} + +type GetAgreementTermsInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the agreement. + // + // AgreementId is a required field + AgreementId *string `locationName:"agreementId" min:"1" type:"string" required:"true"` + + // The maximum number of agreements to return in the response. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to specify where to start pagination + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAgreementTermsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAgreementTermsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAgreementTermsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAgreementTermsInput"} + if s.AgreementId == nil { + invalidParams.Add(request.NewErrParamRequired("AgreementId")) + } + if s.AgreementId != nil && len(*s.AgreementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AgreementId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAgreementId sets the AgreementId field's value. +func (s *GetAgreementTermsInput) SetAgreementId(v string) *GetAgreementTermsInput { + s.AgreementId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetAgreementTermsInput) SetMaxResults(v int64) *GetAgreementTermsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetAgreementTermsInput) SetNextToken(v string) *GetAgreementTermsInput { + s.NextToken = &v + return s +} + +type GetAgreementTermsOutput struct { + _ struct{} `type:"structure"` + + // A subset of terms proposed by the proposer that have been accepted by the + // acceptor as part of the agreement creation. + AcceptedTerms []*AcceptedTerm `locationName:"acceptedTerms" type:"list"` + + // A token to specify where to start pagination + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAgreementTermsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAgreementTermsOutput) GoString() string { + return s.String() +} + +// SetAcceptedTerms sets the AcceptedTerms field's value. +func (s *GetAgreementTermsOutput) SetAcceptedTerms(v []*AcceptedTerm) *GetAgreementTermsOutput { + s.AcceptedTerms = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetAgreementTermsOutput) SetNextToken(v string) *GetAgreementTermsOutput { + s.NextToken = &v + return s +} + +// Entitlements granted to the acceptor of fixed upfront as part of agreement +// execution. +type GrantItem struct { + _ struct{} `type:"structure"` + + // 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. + DimensionKey *string `locationName:"dimensionKey" min:"1" type:"string"` + + // 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. + MaxQuantity *int64 `locationName:"maxQuantity" min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GrantItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GrantItem) GoString() string { + return s.String() +} + +// SetDimensionKey sets the DimensionKey field's value. +func (s *GrantItem) SetDimensionKey(v string) *GrantItem { + s.DimensionKey = &v + return s +} + +// SetMaxQuantity sets the MaxQuantity field's value. +func (s *GrantItem) SetMaxQuantity(v int64) *GrantItem { + s.MaxQuantity = &v + return s +} + +// Unexpected error during processing of request. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" min:"1" type:"string"` + + // The unique identifier for the error. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Defines the list of text agreements proposed to the acceptors. An example +// is the end user license agreement (EULA). +type LegalTerm struct { + _ struct{} `type:"structure"` + + // List of references to legal resources proposed to the buyers. An example + // is the EULA. + Documents []*DocumentItem `locationName:"documents" type:"list"` + + // Category of the term being updated. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LegalTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s LegalTerm) GoString() string { + return s.String() +} + +// SetDocuments sets the Documents field's value. +func (s *LegalTerm) SetDocuments(v []*DocumentItem) *LegalTerm { + s.Documents = v + return s +} + +// SetType sets the Type field's value. +func (s *LegalTerm) SetType(v string) *LegalTerm { + s.Type = &v + return s +} + +// Defines an installment-based pricing model where customers are charged a +// fixed price on different dates during the agreement validity period. This +// is used most commonly for flexible payment schedule pricing. +type PaymentScheduleTerm struct { + _ struct{} `type:"structure"` + + // Defines the currency for the prices mentioned in the term. + CurrencyCode *string `locationName:"currencyCode" min:"3" type:"string"` + + // List of the payment schedule where each element defines one installment of + // payment. It contains the information necessary for calculating the price. + Schedule []*ScheduleItem `locationName:"schedule" type:"list"` + + // Type of the term. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PaymentScheduleTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PaymentScheduleTerm) GoString() string { + return s.String() +} + +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *PaymentScheduleTerm) SetCurrencyCode(v string) *PaymentScheduleTerm { + s.CurrencyCode = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *PaymentScheduleTerm) SetSchedule(v []*ScheduleItem) *PaymentScheduleTerm { + s.Schedule = v + return s +} + +// SetType sets the Type field's value. +func (s *PaymentScheduleTerm) SetType(v string) *PaymentScheduleTerm { + s.Type = &v + return s +} + +// A summary of the proposal received from the proposer. +type ProposalSummary struct { + _ struct{} `type:"structure"` + + // The unique identifier of the offer in AWS Marketplace. + OfferId *string `locationName:"offerId" min:"1" type:"string"` + + // The list of resources involved in the agreement. + Resources []*Resource `locationName:"resources" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProposalSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProposalSummary) GoString() string { + return s.String() +} + +// SetOfferId sets the OfferId field's value. +func (s *ProposalSummary) SetOfferId(v string) *ProposalSummary { + s.OfferId = &v + return s +} + +// SetResources sets the Resources field's value. +func (s *ProposalSummary) SetResources(v []*Resource) *ProposalSummary { + s.Resources = v + return s +} + +// Details of the party proposing the agreement terms,. This is commonly the +// seller for PurchaseAgreement. +type Proposer struct { + _ struct{} `type:"structure"` + + // The AWS account ID of the proposer. + AccountId *string `locationName:"accountId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Proposer) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Proposer) GoString() string { + return s.String() +} + +// SetAccountId sets the AccountId field's value. +func (s *Proposer) SetAccountId(v string) *Proposer { + s.AccountId = &v + return s +} + +// Defines the per unit rates for each individual product dimension. +type RateCardItem struct { + _ struct{} `type:"structure"` + + // 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. + DimensionKey *string `locationName:"dimensionKey" min:"1" type:"string"` + + // Per unit price for the product dimension that’s used for calculating the + // amount to be charged. + Price *string `locationName:"price" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RateCardItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RateCardItem) GoString() string { + return s.String() +} + +// SetDimensionKey sets the DimensionKey field's value. +func (s *RateCardItem) SetDimensionKey(v string) *RateCardItem { + s.DimensionKey = &v + return s +} + +// SetPrice sets the Price field's value. +func (s *RateCardItem) SetPrice(v string) *RateCardItem { + s.Price = &v + return s +} + +// Defines a pricing model where customers are charged a fixed recurring price +// at the end of each billing period. +type RecurringPaymentTerm struct { + _ struct{} `type:"structure"` + + // Defines the recurrence at which buyers are charged. + BillingPeriod *string `locationName:"billingPeriod" min:"1" type:"string"` + + // Defines the currency for the prices mentioned in this term. + CurrencyCode *string `locationName:"currencyCode" min:"3" type:"string"` + + // Amount charged to the buyer every billing period. + Price *string `locationName:"price" min:"1" type:"string"` + + // Type of the term being updated. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecurringPaymentTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RecurringPaymentTerm) GoString() string { + return s.String() +} + +// SetBillingPeriod sets the BillingPeriod field's value. +func (s *RecurringPaymentTerm) SetBillingPeriod(v string) *RecurringPaymentTerm { + s.BillingPeriod = &v + return s +} + +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *RecurringPaymentTerm) SetCurrencyCode(v string) *RecurringPaymentTerm { + s.CurrencyCode = &v + return s +} + +// SetPrice sets the Price field's value. +func (s *RecurringPaymentTerm) SetPrice(v string) *RecurringPaymentTerm { + s.Price = &v + return s +} + +// SetType sets the Type field's value. +func (s *RecurringPaymentTerm) SetType(v string) *RecurringPaymentTerm { + s.Type = &v + return s +} + +// 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. +type RenewalTerm struct { + _ struct{} `type:"structure"` + + // Additional parameters specified by the acceptor while accepting the term. + Configuration *RenewalTermConfiguration `locationName:"configuration" type:"structure"` + + // Category of the term being updated. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RenewalTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RenewalTerm) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *RenewalTerm) SetConfiguration(v *RenewalTermConfiguration) *RenewalTerm { + s.Configuration = v + return s +} + +// SetType sets the Type field's value. +func (s *RenewalTerm) SetType(v string) *RenewalTerm { + s.Type = &v + return s +} + +// Additional parameters specified by the acceptor while accepting the term. +type RenewalTermConfiguration struct { + _ struct{} `type:"structure"` + + // Defines whether the acceptor has chosen to auto-renew the agreement at the + // end of its lifecycle. Can be set to True or False. + // + // EnableAutoRenew is a required field + EnableAutoRenew *bool `locationName:"enableAutoRenew" type:"boolean" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RenewalTermConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RenewalTermConfiguration) GoString() string { + return s.String() +} + +// SetEnableAutoRenew sets the EnableAutoRenew field's value. +func (s *RenewalTermConfiguration) SetEnableAutoRenew(v bool) *RenewalTermConfiguration { + s.EnableAutoRenew = &v + return s +} + +// The list of resources involved in the agreement. +type Resource struct { + _ struct{} `type:"structure"` + + // The unique identifier of the resource. + // + // We mention the term resource, which is most commonly a product, so a resourceId + // is also a productId. + Id *string `locationName:"id" min:"1" type:"string"` + + // Type of the resource, which is the product. Values include SaaSProduct or + // AmiProduct. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Resource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Resource) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *Resource) SetId(v string) *Resource { + s.Id = &v + return s +} + +// SetType sets the Type field's value. +func (s *Resource) SetType(v string) *Resource { + s.Type = &v + return s +} + +// Request references a resource which does not exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" min:"1" type:"string"` + + // The unique identifier for the error. + RequestId *string `locationName:"requestId" min:"1" type:"string"` + + // The unique identifier for the resource. + ResourceId *string `locationName:"resourceId" min:"1" type:"string"` + + // The type of resource. + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An individual installment of the payment that includes the date and amount +// of the charge. +type ScheduleItem struct { + _ struct{} `type:"structure"` + + // The price that the customer would pay on the scheduled date (chargeDate). + ChargeAmount *string `locationName:"chargeAmount" min:"1" type:"string"` + + // The date that the customer would pay the price defined in this payment schedule + // term. Invoices are generated on the date provided. + ChargeDate *time.Time `locationName:"chargeDate" type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ScheduleItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ScheduleItem) GoString() string { + return s.String() +} + +// SetChargeAmount sets the ChargeAmount field's value. +func (s *ScheduleItem) SetChargeAmount(v string) *ScheduleItem { + s.ChargeAmount = &v + return s +} + +// SetChargeDate sets the ChargeDate field's value. +func (s *ScheduleItem) SetChargeDate(v time.Time) *ScheduleItem { + s.ChargeDate = &v + return s +} + +type SearchAgreementsInput struct { + _ struct{} `type:"structure"` + + // The catalog in which the agreement was created. + Catalog *string `locationName:"catalog" min:"1" type:"string"` + + // 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. + Filters []*Filter `locationName:"filters" min:"1" type:"list"` + + // The maximum number of agreements to return in the response. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // A token to specify where to start pagination. + NextToken *string `locationName:"nextToken" type:"string"` + + // An object that contains the SortBy and SortOrder attributes. + Sort *Sort `locationName:"sort" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchAgreementsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchAgreementsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchAgreementsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchAgreementsInput"} + if s.Catalog != nil && len(*s.Catalog) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) + } + if s.Filters != nil && len(s.Filters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Filters", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Sort != nil { + if err := s.Sort.Validate(); err != nil { + invalidParams.AddNested("Sort", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalog sets the Catalog field's value. +func (s *SearchAgreementsInput) SetCatalog(v string) *SearchAgreementsInput { + s.Catalog = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *SearchAgreementsInput) SetFilters(v []*Filter) *SearchAgreementsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *SearchAgreementsInput) SetMaxResults(v int64) *SearchAgreementsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchAgreementsInput) SetNextToken(v string) *SearchAgreementsInput { + s.NextToken = &v + return s +} + +// SetSort sets the Sort field's value. +func (s *SearchAgreementsInput) SetSort(v *Sort) *SearchAgreementsInput { + s.Sort = v + return s +} + +type SearchAgreementsOutput struct { + _ struct{} `type:"structure"` + + // A summary of the agreement, including top-level attributes (for example, + // the agreement ID, version, proposer, and acceptor). + AgreementViewSummaries []*AgreementViewSummary `locationName:"agreementViewSummaries" type:"list"` + + // The token used for pagination. The field is null if there are no more results. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchAgreementsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchAgreementsOutput) GoString() string { + return s.String() +} + +// SetAgreementViewSummaries sets the AgreementViewSummaries field's value. +func (s *SearchAgreementsOutput) SetAgreementViewSummaries(v []*AgreementViewSummary) *SearchAgreementsOutput { + s.AgreementViewSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchAgreementsOutput) SetNextToken(v string) *SearchAgreementsOutput { + s.NextToken = &v + return s +} + +// Differentiates between the mutually exclusive rate cards in the same pricing +// term to be selected by the buyer. +type Selector struct { + _ struct{} `type:"structure"` + + // Category of selector. + Type *string `locationName:"type" min:"1" type:"string"` + + // Contract duration. This field supports the ISO 8601 format. + Value *string `locationName:"value" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Selector) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Selector) GoString() string { + return s.String() +} + +// SetType sets the Type field's value. +func (s *Selector) SetType(v string) *Selector { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Selector) SetValue(v string) *Selector { + s.Value = &v + return s +} + +// An object that contains the SortBy and SortOrder attributes. +type Sort struct { + _ struct{} `type:"structure"` + + // The attribute on which the data is grouped, which can be by StartTime and + // EndTime. The default value is EndTime. + SortBy *string `locationName:"sortBy" min:"1" type:"string"` + + // The sorting order, which can be ASCENDING or DESCENDING. The default value + // is DESCENDING. + SortOrder *string `locationName:"sortOrder" type:"string" enum:"SortOrder"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Sort) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Sort) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Sort) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Sort"} + if s.SortBy != nil && len(*s.SortBy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SortBy", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSortBy sets the SortBy field's value. +func (s *Sort) SetSortBy(v string) *Sort { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *Sort) SetSortOrder(v string) *Sort { + s.SortOrder = &v + return s +} + +// Defines the customer support available for the acceptors when they purchase +// the software. +type SupportTerm struct { + _ struct{} `type:"structure"` + + // Free-text field about the refund policy description that will be shown to + // customers as is on the website and console. + RefundPolicy *string `locationName:"refundPolicy" min:"1" type:"string"` + + // Category of the term being updated. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SupportTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SupportTerm) GoString() string { + return s.String() +} + +// SetRefundPolicy sets the RefundPolicy field's value. +func (s *SupportTerm) SetRefundPolicy(v string) *SupportTerm { + s.RefundPolicy = &v + return s +} + +// SetType sets the Type field's value. +func (s *SupportTerm) SetType(v string) *SupportTerm { + s.Type = &v + return s +} + +// Request was denied due to request throttling. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" min:"1" type:"string"` + + // The unique identifier for the error. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Defines a usage-based pricing model (typically, pay-as-you-go pricing), where +// the customers are charged based on product usage. +type UsageBasedPricingTerm struct { + _ struct{} `type:"structure"` + + // Defines the currency for the prices mentioned in the term. + CurrencyCode *string `locationName:"currencyCode" min:"3" type:"string"` + + // List of rate cards. + RateCards []*UsageBasedRateCardItem `locationName:"rateCards" type:"list"` + + // Category of the term. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UsageBasedPricingTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UsageBasedPricingTerm) GoString() string { + return s.String() +} + +// SetCurrencyCode sets the CurrencyCode field's value. +func (s *UsageBasedPricingTerm) SetCurrencyCode(v string) *UsageBasedPricingTerm { + s.CurrencyCode = &v + return s +} + +// SetRateCards sets the RateCards field's value. +func (s *UsageBasedPricingTerm) SetRateCards(v []*UsageBasedRateCardItem) *UsageBasedPricingTerm { + s.RateCards = v + return s +} + +// SetType sets the Type field's value. +func (s *UsageBasedPricingTerm) SetType(v string) *UsageBasedPricingTerm { + s.Type = &v + return s +} + +// Within the pay-as-you-go model defined under UsageBasedPricingTerm, the UsageBasedRateCardItem +// defines an individual rate for a product dimension. +type UsageBasedRateCardItem struct { + _ struct{} `type:"structure"` + + // Defines the per unit rates for product dimensions. + RateCard []*RateCardItem `locationName:"rateCard" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UsageBasedRateCardItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UsageBasedRateCardItem) GoString() string { + return s.String() +} + +// SetRateCard sets the RateCard field's value. +func (s *UsageBasedRateCardItem) SetRateCard(v []*RateCardItem) *UsageBasedRateCardItem { + s.RateCard = v + return s +} + +// The input fails to satisfy the constraints specified by the service. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The fields associated with the error. + Fields []*ValidationExceptionField `locationName:"fields" type:"list"` + + Message_ *string `locationName:"message" min:"1" type:"string"` + + // The reason associated with the error. + Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"` + + // The unique identifier associated with the error. + RequestId *string `locationName:"requestId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The input fails to satisfy the constraints specified by the service. +type ValidationExceptionField struct { + _ struct{} `type:"structure"` + + // See applicable actions. + // + // Message is a required field + Message *string `locationName:"message" min:"1" type:"string" required:"true"` + + // The name of the field associated with the error. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationExceptionField) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationExceptionField) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField { + s.Message = &v + return s +} + +// SetName sets the Name field's value. +func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { + s.Name = &v + return s +} + +// Defines the conditions that will keep an agreement created from this offer +// valid. +type ValidityTerm struct { + _ struct{} `type:"structure"` + + // 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. + AgreementDuration *string `locationName:"agreementDuration" min:"1" type:"string"` + + // 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. + AgreementEndDate *time.Time `locationName:"agreementEndDate" type:"timestamp"` + + // 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. + AgreementStartDate *time.Time `locationName:"agreementStartDate" type:"timestamp"` + + // Category of the term being updated. + Type *string `locationName:"type" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidityTerm) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidityTerm) GoString() string { + return s.String() +} + +// SetAgreementDuration sets the AgreementDuration field's value. +func (s *ValidityTerm) SetAgreementDuration(v string) *ValidityTerm { + s.AgreementDuration = &v + return s +} + +// SetAgreementEndDate sets the AgreementEndDate field's value. +func (s *ValidityTerm) SetAgreementEndDate(v time.Time) *ValidityTerm { + s.AgreementEndDate = &v + return s +} + +// SetAgreementStartDate sets the AgreementStartDate field's value. +func (s *ValidityTerm) SetAgreementStartDate(v time.Time) *ValidityTerm { + s.AgreementStartDate = &v + return s +} + +// SetType sets the Type field's value. +func (s *ValidityTerm) SetType(v string) *ValidityTerm { + s.Type = &v + return s +} + +const ( + // AgreementStatusActive is a AgreementStatus enum value + AgreementStatusActive = "ACTIVE" + + // AgreementStatusArchived is a AgreementStatus enum value + AgreementStatusArchived = "ARCHIVED" + + // AgreementStatusCancelled is a AgreementStatus enum value + AgreementStatusCancelled = "CANCELLED" + + // AgreementStatusExpired is a AgreementStatus enum value + AgreementStatusExpired = "EXPIRED" + + // AgreementStatusRenewed is a AgreementStatus enum value + AgreementStatusRenewed = "RENEWED" + + // AgreementStatusReplaced is a AgreementStatus enum value + AgreementStatusReplaced = "REPLACED" + + // AgreementStatusRolledBack is a AgreementStatus enum value + AgreementStatusRolledBack = "ROLLED_BACK" + + // AgreementStatusSuperseded is a AgreementStatus enum value + AgreementStatusSuperseded = "SUPERSEDED" + + // AgreementStatusTerminated is a AgreementStatus enum value + AgreementStatusTerminated = "TERMINATED" +) + +// AgreementStatus_Values returns all elements of the AgreementStatus enum +func AgreementStatus_Values() []string { + return []string{ + AgreementStatusActive, + AgreementStatusArchived, + AgreementStatusCancelled, + AgreementStatusExpired, + AgreementStatusRenewed, + AgreementStatusReplaced, + AgreementStatusRolledBack, + AgreementStatusSuperseded, + AgreementStatusTerminated, + } +} + +const ( + // ResourceTypeAgreement is a ResourceType enum value + ResourceTypeAgreement = "Agreement" +) + +// ResourceType_Values returns all elements of the ResourceType enum +func ResourceType_Values() []string { + return []string{ + ResourceTypeAgreement, + } +} + +const ( + // SortOrderAscending is a SortOrder enum value + SortOrderAscending = "ASCENDING" + + // SortOrderDescending is a SortOrder enum value + SortOrderDescending = "DESCENDING" +) + +// SortOrder_Values returns all elements of the SortOrder enum +func SortOrder_Values() []string { + return []string{ + SortOrderAscending, + SortOrderDescending, + } +} + +const ( + // ValidationExceptionReasonInvalidAgreementId is a ValidationExceptionReason enum value + ValidationExceptionReasonInvalidAgreementId = "INVALID_AGREEMENT_ID" + + // ValidationExceptionReasonMissingAgreementId is a ValidationExceptionReason enum value + ValidationExceptionReasonMissingAgreementId = "MISSING_AGREEMENT_ID" + + // ValidationExceptionReasonInvalidCatalog is a ValidationExceptionReason enum value + ValidationExceptionReasonInvalidCatalog = "INVALID_CATALOG" + + // ValidationExceptionReasonInvalidFilterName is a ValidationExceptionReason enum value + ValidationExceptionReasonInvalidFilterName = "INVALID_FILTER_NAME" + + // ValidationExceptionReasonInvalidFilterValues is a ValidationExceptionReason enum value + ValidationExceptionReasonInvalidFilterValues = "INVALID_FILTER_VALUES" + + // ValidationExceptionReasonInvalidSortBy is a ValidationExceptionReason enum value + ValidationExceptionReasonInvalidSortBy = "INVALID_SORT_BY" + + // ValidationExceptionReasonInvalidSortOrder is a ValidationExceptionReason enum value + ValidationExceptionReasonInvalidSortOrder = "INVALID_SORT_ORDER" + + // ValidationExceptionReasonInvalidNextToken is a ValidationExceptionReason enum value + ValidationExceptionReasonInvalidNextToken = "INVALID_NEXT_TOKEN" + + // ValidationExceptionReasonInvalidMaxResults is a ValidationExceptionReason enum value + ValidationExceptionReasonInvalidMaxResults = "INVALID_MAX_RESULTS" + + // ValidationExceptionReasonUnsupportedFilters is a ValidationExceptionReason enum value + ValidationExceptionReasonUnsupportedFilters = "UNSUPPORTED_FILTERS" + + // ValidationExceptionReasonOther is a ValidationExceptionReason enum value + ValidationExceptionReasonOther = "OTHER" +) + +// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum +func ValidationExceptionReason_Values() []string { + return []string{ + ValidationExceptionReasonInvalidAgreementId, + ValidationExceptionReasonMissingAgreementId, + ValidationExceptionReasonInvalidCatalog, + ValidationExceptionReasonInvalidFilterName, + ValidationExceptionReasonInvalidFilterValues, + ValidationExceptionReasonInvalidSortBy, + ValidationExceptionReasonInvalidSortOrder, + ValidationExceptionReasonInvalidNextToken, + ValidationExceptionReasonInvalidMaxResults, + ValidationExceptionReasonUnsupportedFilters, + ValidationExceptionReasonOther, + } +} diff --git a/service/marketplaceagreement/doc.go b/service/marketplaceagreement/doc.go new file mode 100644 index 00000000000..850bab910b3 --- /dev/null +++ b/service/marketplaceagreement/doc.go @@ -0,0 +1,46 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package marketplaceagreement provides the client and types for making API +// requests to AWS Marketplace Agreement Service. +// +// 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. +// +// See https://docs.aws.amazon.com/goto/WebAPI/marketplace-agreement-2020-03-01 for more information on this service. +// +// See marketplaceagreement package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/marketplaceagreement/ +// +// # Using the Client +// +// To contact AWS Marketplace Agreement Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS Marketplace Agreement Service client MarketplaceAgreement for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/marketplaceagreement/#New +package marketplaceagreement diff --git a/service/marketplaceagreement/errors.go b/service/marketplaceagreement/errors.go new file mode 100644 index 00000000000..dd239836eec --- /dev/null +++ b/service/marketplaceagreement/errors.go @@ -0,0 +1,48 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package marketplaceagreement + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // User does not have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // Unexpected error during processing of request. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Request references a resource which does not exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // Request was denied due to request throttling. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The input fails to satisfy the constraints specified by the service. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/marketplaceagreement/marketplaceagreementiface/interface.go b/service/marketplaceagreement/marketplaceagreementiface/interface.go new file mode 100644 index 00000000000..a9b17c35195 --- /dev/null +++ b/service/marketplaceagreement/marketplaceagreementiface/interface.go @@ -0,0 +1,82 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package marketplaceagreementiface provides an interface to enable mocking the AWS Marketplace Agreement Service service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package marketplaceagreementiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/marketplaceagreement" +) + +// MarketplaceAgreementAPI provides an interface to enable mocking the +// marketplaceagreement.MarketplaceAgreement service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS Marketplace Agreement Service. +// func myFunc(svc marketplaceagreementiface.MarketplaceAgreementAPI) bool { +// // Make svc.DescribeAgreement request +// } +// +// func main() { +// sess := session.New() +// svc := marketplaceagreement.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockMarketplaceAgreementClient struct { +// marketplaceagreementiface.MarketplaceAgreementAPI +// } +// func (m *mockMarketplaceAgreementClient) DescribeAgreement(input *marketplaceagreement.DescribeAgreementInput) (*marketplaceagreement.DescribeAgreementOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockMarketplaceAgreementClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type MarketplaceAgreementAPI interface { + DescribeAgreement(*marketplaceagreement.DescribeAgreementInput) (*marketplaceagreement.DescribeAgreementOutput, error) + DescribeAgreementWithContext(aws.Context, *marketplaceagreement.DescribeAgreementInput, ...request.Option) (*marketplaceagreement.DescribeAgreementOutput, error) + DescribeAgreementRequest(*marketplaceagreement.DescribeAgreementInput) (*request.Request, *marketplaceagreement.DescribeAgreementOutput) + + GetAgreementTerms(*marketplaceagreement.GetAgreementTermsInput) (*marketplaceagreement.GetAgreementTermsOutput, error) + GetAgreementTermsWithContext(aws.Context, *marketplaceagreement.GetAgreementTermsInput, ...request.Option) (*marketplaceagreement.GetAgreementTermsOutput, error) + GetAgreementTermsRequest(*marketplaceagreement.GetAgreementTermsInput) (*request.Request, *marketplaceagreement.GetAgreementTermsOutput) + + GetAgreementTermsPages(*marketplaceagreement.GetAgreementTermsInput, func(*marketplaceagreement.GetAgreementTermsOutput, bool) bool) error + GetAgreementTermsPagesWithContext(aws.Context, *marketplaceagreement.GetAgreementTermsInput, func(*marketplaceagreement.GetAgreementTermsOutput, bool) bool, ...request.Option) error + + SearchAgreements(*marketplaceagreement.SearchAgreementsInput) (*marketplaceagreement.SearchAgreementsOutput, error) + SearchAgreementsWithContext(aws.Context, *marketplaceagreement.SearchAgreementsInput, ...request.Option) (*marketplaceagreement.SearchAgreementsOutput, error) + SearchAgreementsRequest(*marketplaceagreement.SearchAgreementsInput) (*request.Request, *marketplaceagreement.SearchAgreementsOutput) + + SearchAgreementsPages(*marketplaceagreement.SearchAgreementsInput, func(*marketplaceagreement.SearchAgreementsOutput, bool) bool) error + SearchAgreementsPagesWithContext(aws.Context, *marketplaceagreement.SearchAgreementsInput, func(*marketplaceagreement.SearchAgreementsOutput, bool) bool, ...request.Option) error +} + +var _ MarketplaceAgreementAPI = (*marketplaceagreement.MarketplaceAgreement)(nil) diff --git a/service/marketplaceagreement/service.go b/service/marketplaceagreement/service.go new file mode 100644 index 00000000000..eca1a2bd1e4 --- /dev/null +++ b/service/marketplaceagreement/service.go @@ -0,0 +1,108 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package marketplaceagreement + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +// MarketplaceAgreement provides the API operation methods for making requests to +// AWS Marketplace Agreement Service. See this package's package overview docs +// for details on the service. +// +// MarketplaceAgreement methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MarketplaceAgreement struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "Marketplace Agreement" // Name of service. + EndpointsID = "agreement-marketplace" // ID to lookup a service endpoint with. + ServiceID = "Marketplace Agreement" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the MarketplaceAgreement client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a MarketplaceAgreement client from just a session. +// svc := marketplaceagreement.New(mySession) +// +// // Create a MarketplaceAgreement client with additional configuration +// svc := marketplaceagreement.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MarketplaceAgreement { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "aws-marketplace" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *MarketplaceAgreement { + svc := &MarketplaceAgreement{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2020-03-01", + ResolvedRegion: resolvedRegion, + JSONVersion: "1.0", + TargetPrefix: "AWSMPCommerceService_v20200301", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(jsonrpc.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MarketplaceAgreement operation and runs any +// custom request initialization. +func (c *MarketplaceAgreement) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/marketplacecatalog/api.go b/service/marketplacecatalog/api.go index 1c85760f84e..4aa92cf1666 100644 --- a/service/marketplacecatalog/api.go +++ b/service/marketplacecatalog/api.go @@ -1447,19 +1447,12 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } -type CancelChangeSetInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // Required. The catalog related to the request. Fixed value: AWSMarketplace. - // - // Catalog is a required field - Catalog *string `location:"querystring" locationName:"catalog" min:"1" type:"string" required:"true"` +// Object that allows filtering on entity id of an AMI product. +type AmiProductEntityIdFilter struct { + _ struct{} `type:"structure"` - // Required. The unique identifier of the StartChangeSet request that you want - // to cancel. - // - // ChangeSetId is a required field - ChangeSetId *string `location:"querystring" locationName:"changeSetId" min:"1" type:"string" required:"true"` + // A string array of unique entity id values to be filtered on. + ValueList []*string `min:"1" type:"list"` } // String returns the string representation. @@ -1467,7 +1460,7 @@ type CancelChangeSetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelChangeSetInput) String() string { +func (s AmiProductEntityIdFilter) String() string { return awsutil.Prettify(s) } @@ -1476,24 +1469,15 @@ func (s CancelChangeSetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelChangeSetInput) GoString() string { +func (s AmiProductEntityIdFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CancelChangeSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelChangeSetInput"} - if s.Catalog == nil { - invalidParams.Add(request.NewErrParamRequired("Catalog")) - } - if s.Catalog != nil && len(*s.Catalog) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) - } - if s.ChangeSetId == nil { - invalidParams.Add(request.NewErrParamRequired("ChangeSetId")) - } - if s.ChangeSetId != nil && len(*s.ChangeSetId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChangeSetId", 1)) +func (s *AmiProductEntityIdFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmiProductEntityIdFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) } if invalidParams.Len() > 0 { @@ -1502,26 +1486,28 @@ func (s *CancelChangeSetInput) Validate() error { return nil } -// SetCatalog sets the Catalog field's value. -func (s *CancelChangeSetInput) SetCatalog(v string) *CancelChangeSetInput { - s.Catalog = &v - return s -} - -// SetChangeSetId sets the ChangeSetId field's value. -func (s *CancelChangeSetInput) SetChangeSetId(v string) *CancelChangeSetInput { - s.ChangeSetId = &v +// SetValueList sets the ValueList field's value. +func (s *AmiProductEntityIdFilter) SetValueList(v []*string) *AmiProductEntityIdFilter { + s.ValueList = v return s } -type CancelChangeSetOutput struct { +// Object containing all the filter fields for AMI products. Client can add +// a maximum of 8 filters in a single ListEntities request. +type AmiProductFilters struct { _ struct{} `type:"structure"` - // The ARN associated with the change set referenced in this request. - ChangeSetArn *string `min:"1" type:"string"` + // Unique identifier for the AMI product. + EntityId *AmiProductEntityIdFilter `type:"structure"` - // The unique identifier for the change set referenced in this request. - ChangeSetId *string `min:"1" type:"string"` + // The last date on which the AMI product was modified. + LastModifiedDate *AmiProductLastModifiedDateFilter `type:"structure"` + + // The title of the AMI product. + ProductTitle *AmiProductTitleFilter `type:"structure"` + + // The visibility of the AMI product. + Visibility *AmiProductVisibilityFilter `type:"structure"` } // String returns the string representation. @@ -1529,7 +1515,7 @@ type CancelChangeSetOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelChangeSetOutput) String() string { +func (s AmiProductFilters) String() string { return awsutil.Prettify(s) } @@ -1538,53 +1524,70 @@ func (s CancelChangeSetOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CancelChangeSetOutput) GoString() string { +func (s AmiProductFilters) GoString() string { return s.String() } -// SetChangeSetArn sets the ChangeSetArn field's value. -func (s *CancelChangeSetOutput) SetChangeSetArn(v string) *CancelChangeSetOutput { - s.ChangeSetArn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *AmiProductFilters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmiProductFilters"} + if s.EntityId != nil { + if err := s.EntityId.Validate(); err != nil { + invalidParams.AddNested("EntityId", err.(request.ErrInvalidParams)) + } + } + if s.LastModifiedDate != nil { + if err := s.LastModifiedDate.Validate(); err != nil { + invalidParams.AddNested("LastModifiedDate", err.(request.ErrInvalidParams)) + } + } + if s.ProductTitle != nil { + if err := s.ProductTitle.Validate(); err != nil { + invalidParams.AddNested("ProductTitle", err.(request.ErrInvalidParams)) + } + } + if s.Visibility != nil { + if err := s.Visibility.Validate(); err != nil { + invalidParams.AddNested("Visibility", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetChangeSetId sets the ChangeSetId field's value. -func (s *CancelChangeSetOutput) SetChangeSetId(v string) *CancelChangeSetOutput { - s.ChangeSetId = &v +// SetEntityId sets the EntityId field's value. +func (s *AmiProductFilters) SetEntityId(v *AmiProductEntityIdFilter) *AmiProductFilters { + s.EntityId = v return s } -// An object that contains the ChangeType, Details, and Entity. -type Change struct { - _ struct{} `type:"structure"` - - // Optional name for the change. - ChangeName *string `min:"1" type:"string"` +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *AmiProductFilters) SetLastModifiedDate(v *AmiProductLastModifiedDateFilter) *AmiProductFilters { + s.LastModifiedDate = v + return s +} - // Change types are single string values that describe your intention for the - // change. Each change type is unique for each EntityType provided in the change's - // scope. For more information on change types available for single-AMI products, - // see Working with single-AMI products (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/ami-products.html#working-with-single-AMI-products). - // Also, for more information about change types available for container-based - // products, see Working with container products (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/container-products.html#working-with-container-products). - // - // ChangeType is a required field - ChangeType *string `min:"1" type:"string" required:"true"` +// SetProductTitle sets the ProductTitle field's value. +func (s *AmiProductFilters) SetProductTitle(v *AmiProductTitleFilter) *AmiProductFilters { + s.ProductTitle = v + return s +} - // This object contains details specific to the change type of the requested - // change. For more information about change types available for single-AMI - // products, see Working with single-AMI products (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/ami-products.html#working-with-single-AMI-products). - // Also, for more information about change types available for container-based - // products, see Working with container products (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/container-products.html#working-with-container-products). - Details *string `min:"2" type:"string"` +// SetVisibility sets the Visibility field's value. +func (s *AmiProductFilters) SetVisibility(v *AmiProductVisibilityFilter) *AmiProductFilters { + s.Visibility = v + return s +} - // The entity to be changed. - // - // Entity is a required field - Entity *Entity `type:"structure" required:"true"` +// Object that allows filtering based on the last modified date of AMI products. +type AmiProductLastModifiedDateFilter struct { + _ struct{} `type:"structure"` - // The tags associated with the change. - EntityTags []*Tag `min:"1" type:"list"` + // Dates between which the AMI product was last modified. + DateRange *AmiProductLastModifiedDateFilterDateRange `type:"structure"` } // String returns the string representation. @@ -1592,7 +1595,7 @@ type Change struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Change) String() string { +func (s AmiProductLastModifiedDateFilter) String() string { return awsutil.Prettify(s) } @@ -1601,44 +1604,16 @@ func (s Change) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Change) GoString() string { +func (s AmiProductLastModifiedDateFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Change) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Change"} - if s.ChangeName != nil && len(*s.ChangeName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChangeName", 1)) - } - if s.ChangeType == nil { - invalidParams.Add(request.NewErrParamRequired("ChangeType")) - } - if s.ChangeType != nil && len(*s.ChangeType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ChangeType", 1)) - } - if s.Details != nil && len(*s.Details) < 2 { - invalidParams.Add(request.NewErrParamMinLen("Details", 2)) - } - if s.Entity == nil { - invalidParams.Add(request.NewErrParamRequired("Entity")) - } - if s.EntityTags != nil && len(s.EntityTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntityTags", 1)) - } - if s.Entity != nil { - if err := s.Entity.Validate(); err != nil { - invalidParams.AddNested("Entity", err.(request.ErrInvalidParams)) - } - } - if s.EntityTags != nil { - for i, v := range s.EntityTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EntityTags", i), err.(request.ErrInvalidParams)) - } +func (s *AmiProductLastModifiedDateFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmiProductLastModifiedDateFilter"} + if s.DateRange != nil { + if err := s.DateRange.Validate(); err != nil { + invalidParams.AddNested("DateRange", err.(request.ErrInvalidParams)) } } @@ -1648,72 +1623,122 @@ func (s *Change) Validate() error { return nil } -// SetChangeName sets the ChangeName field's value. -func (s *Change) SetChangeName(v string) *Change { - s.ChangeName = &v +// SetDateRange sets the DateRange field's value. +func (s *AmiProductLastModifiedDateFilter) SetDateRange(v *AmiProductLastModifiedDateFilterDateRange) *AmiProductLastModifiedDateFilter { + s.DateRange = v return s } -// SetChangeType sets the ChangeType field's value. -func (s *Change) SetChangeType(v string) *Change { - s.ChangeType = &v - return s +// 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. +type AmiProductLastModifiedDateFilterDateRange struct { + _ struct{} `type:"structure"` + + // Date after which the AMI product was last modified. + AfterValue *string `min:"20" type:"string"` + + // Date before which the AMI product was last modified. + BeforeValue *string `min:"20" type:"string"` } -// SetDetails sets the Details field's value. -func (s *Change) SetDetails(v string) *Change { - s.Details = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AmiProductLastModifiedDateFilterDateRange) String() string { + return awsutil.Prettify(s) } -// SetEntity sets the Entity field's value. -func (s *Change) SetEntity(v *Entity) *Change { - s.Entity = v +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AmiProductLastModifiedDateFilterDateRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AmiProductLastModifiedDateFilterDateRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmiProductLastModifiedDateFilterDateRange"} + if s.AfterValue != nil && len(*s.AfterValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AfterValue", 20)) + } + if s.BeforeValue != nil && len(*s.BeforeValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BeforeValue", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAfterValue sets the AfterValue field's value. +func (s *AmiProductLastModifiedDateFilterDateRange) SetAfterValue(v string) *AmiProductLastModifiedDateFilterDateRange { + s.AfterValue = &v return s } -// SetEntityTags sets the EntityTags field's value. -func (s *Change) SetEntityTags(v []*Tag) *Change { - s.EntityTags = v +// SetBeforeValue sets the BeforeValue field's value. +func (s *AmiProductLastModifiedDateFilterDateRange) SetBeforeValue(v string) *AmiProductLastModifiedDateFilterDateRange { + s.BeforeValue = &v return s } -// A summary of a change set returned in a list of change sets when the ListChangeSets -// action is called. -type ChangeSetSummaryListItem struct { +// Objects that allows sorting on AMI products based on certain fields and sorting +// order. +type AmiProductSort struct { _ struct{} `type:"structure"` - // The ARN associated with the unique identifier for the change set referenced - // in this request. - ChangeSetArn *string `min:"1" type:"string"` + // Field to sort the AMI products by. + SortBy *string `type:"string" enum:"AmiProductSortBy"` - // The unique identifier for a change set. - ChangeSetId *string `min:"1" type:"string"` + // The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING. + SortOrder *string `type:"string" enum:"SortOrder"` +} - // The non-unique name for the change set. - ChangeSetName *string `min:"1" type:"string"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AmiProductSort) String() string { + return awsutil.Prettify(s) +} - // The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set - // was finished. - EndTime *string `min:"20" type:"string"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AmiProductSort) GoString() string { + return s.String() +} - // This object is a list of entity IDs (string) that are a part of a change - // set. The entity ID list is a maximum of 20 entities. It must contain at least - // one entity. - EntityIdList []*string `type:"list"` +// SetSortBy sets the SortBy field's value. +func (s *AmiProductSort) SetSortBy(v string) *AmiProductSort { + s.SortBy = &v + return s +} - // 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 - // of DescribeChangeSet), or SERVER_FAULT, which means that there is a problem - // in the system, and you should retry your request. - FailureCode *string `type:"string" enum:"FailureCode"` +// SetSortOrder sets the SortOrder field's value. +func (s *AmiProductSort) SetSortOrder(v string) *AmiProductSort { + s.SortOrder = &v + return s +} - // The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set - // was started. - StartTime *string `min:"20" type:"string"` +// Object that contains summarized information about an AMI product. +type AmiProductSummary struct { + _ struct{} `type:"structure"` - // The current status of the change set. - Status *string `type:"string" enum:"ChangeStatus"` + // The title of the AMI product. + ProductTitle *string `min:"1" type:"string"` + + // The lifecycle of the AMI product. + Visibility *string `type:"string" enum:"AmiProductVisibilityString"` } // String returns the string representation. @@ -1721,7 +1746,7 @@ type ChangeSetSummaryListItem struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChangeSetSummaryListItem) String() string { +func (s AmiProductSummary) String() string { return awsutil.Prettify(s) } @@ -1730,78 +1755,32 @@ func (s ChangeSetSummaryListItem) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChangeSetSummaryListItem) GoString() string { +func (s AmiProductSummary) GoString() string { return s.String() } -// SetChangeSetArn sets the ChangeSetArn field's value. -func (s *ChangeSetSummaryListItem) SetChangeSetArn(v string) *ChangeSetSummaryListItem { - s.ChangeSetArn = &v +// SetProductTitle sets the ProductTitle field's value. +func (s *AmiProductSummary) SetProductTitle(v string) *AmiProductSummary { + s.ProductTitle = &v return s } -// SetChangeSetId sets the ChangeSetId field's value. -func (s *ChangeSetSummaryListItem) SetChangeSetId(v string) *ChangeSetSummaryListItem { - s.ChangeSetId = &v +// SetVisibility sets the Visibility field's value. +func (s *AmiProductSummary) SetVisibility(v string) *AmiProductSummary { + s.Visibility = &v return s } -// SetChangeSetName sets the ChangeSetName field's value. -func (s *ChangeSetSummaryListItem) SetChangeSetName(v string) *ChangeSetSummaryListItem { - s.ChangeSetName = &v - return s -} - -// SetEndTime sets the EndTime field's value. -func (s *ChangeSetSummaryListItem) SetEndTime(v string) *ChangeSetSummaryListItem { - s.EndTime = &v - return s -} - -// SetEntityIdList sets the EntityIdList field's value. -func (s *ChangeSetSummaryListItem) SetEntityIdList(v []*string) *ChangeSetSummaryListItem { - s.EntityIdList = v - return s -} - -// SetFailureCode sets the FailureCode field's value. -func (s *ChangeSetSummaryListItem) SetFailureCode(v string) *ChangeSetSummaryListItem { - s.FailureCode = &v - return s -} - -// SetStartTime sets the StartTime field's value. -func (s *ChangeSetSummaryListItem) SetStartTime(v string) *ChangeSetSummaryListItem { - s.StartTime = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *ChangeSetSummaryListItem) SetStatus(v string) *ChangeSetSummaryListItem { - s.Status = &v - return s -} - -// This object is a container for common summary information about the change. -// The summary doesn't contain the whole change structure. -type ChangeSummary struct { +// Object that allows filtering on product title. +type AmiProductTitleFilter struct { _ struct{} `type:"structure"` - // Optional name for the change. - ChangeName *string `min:"1" type:"string"` - - // The type of the change. - ChangeType *string `min:"1" type:"string"` - - // This object contains details specific to the change type of the requested - // change. - Details *string `min:"2" type:"string"` - - // The entity to be changed. - Entity *Entity `type:"structure"` + // A string array of unique product title values to be filtered on. + ValueList []*string `min:"1" type:"list"` - // An array of ErrorDetail objects associated with the change. - ErrorDetailList []*ErrorDetail `type:"list"` + // A string that will be the wildCard input for product tile filter. It matches + // the provided value as a substring in the actual value. + WildCardValue *string `min:"1" type:"string"` } // String returns the string representation. @@ -1809,7 +1788,7 @@ type ChangeSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChangeSummary) String() string { +func (s AmiProductTitleFilter) String() string { return awsutil.Prettify(s) } @@ -1818,48 +1797,45 @@ func (s ChangeSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ChangeSummary) GoString() string { +func (s AmiProductTitleFilter) GoString() string { return s.String() } -// SetChangeName sets the ChangeName field's value. -func (s *ChangeSummary) SetChangeName(v string) *ChangeSummary { - s.ChangeName = &v - return s -} - -// SetChangeType sets the ChangeType field's value. -func (s *ChangeSummary) SetChangeType(v string) *ChangeSummary { - s.ChangeType = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *AmiProductTitleFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmiProductTitleFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.WildCardValue != nil && len(*s.WildCardValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 1)) + } -// SetDetails sets the Details field's value. -func (s *ChangeSummary) SetDetails(v string) *ChangeSummary { - s.Details = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetEntity sets the Entity field's value. -func (s *ChangeSummary) SetEntity(v *Entity) *ChangeSummary { - s.Entity = v +// SetValueList sets the ValueList field's value. +func (s *AmiProductTitleFilter) SetValueList(v []*string) *AmiProductTitleFilter { + s.ValueList = v return s } -// SetErrorDetailList sets the ErrorDetailList field's value. -func (s *ChangeSummary) SetErrorDetailList(v []*ErrorDetail) *ChangeSummary { - s.ErrorDetailList = v +// SetWildCardValue sets the WildCardValue field's value. +func (s *AmiProductTitleFilter) SetWildCardValue(v string) *AmiProductTitleFilter { + s.WildCardValue = &v return s } -type DeleteResourcePolicyInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Object that allows filtering on the visibility of the product in the AWS +// Marketplace. +type AmiProductVisibilityFilter struct { + _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the entity resource that is associated - // with the resource policy. - // - // ResourceArn is a required field - ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"` + // A string array of unique visibility values to be filtered on. + ValueList []*string `min:"1" type:"list" enum:"AmiProductVisibilityString"` } // String returns the string representation. @@ -1867,7 +1843,7 @@ type DeleteResourcePolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteResourcePolicyInput) String() string { +func (s AmiProductVisibilityFilter) String() string { return awsutil.Prettify(s) } @@ -1876,18 +1852,15 @@ func (s DeleteResourcePolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteResourcePolicyInput) GoString() string { +func (s AmiProductVisibilityFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteResourcePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) +func (s *AmiProductVisibilityFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmiProductVisibilityFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) } if invalidParams.Len() > 0 { @@ -1896,44 +1869,22 @@ func (s *DeleteResourcePolicyInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { - s.ResourceArn = &v +// SetValueList sets the ValueList field's value. +func (s *AmiProductVisibilityFilter) SetValueList(v []*string) *AmiProductVisibilityFilter { + s.ValueList = v return s } -type DeleteResourcePolicyOutput struct { - _ struct{} `type:"structure"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteResourcePolicyOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteResourcePolicyOutput) GoString() string { - return s.String() -} - -type DescribeChangeSetInput struct { +type CancelChangeSetInput struct { _ struct{} `type:"structure" nopayload:"true"` - // Required. The catalog related to the request. Fixed value: AWSMarketplace + // Required. The catalog related to the request. Fixed value: AWSMarketplace. // // Catalog is a required field Catalog *string `location:"querystring" locationName:"catalog" min:"1" type:"string" required:"true"` - // Required. The unique identifier for the StartChangeSet request that you want - // to describe the details for. + // Required. The unique identifier of the StartChangeSet request that you want + // to cancel. // // ChangeSetId is a required field ChangeSetId *string `location:"querystring" locationName:"changeSetId" min:"1" type:"string" required:"true"` @@ -1944,7 +1895,7 @@ type DescribeChangeSetInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetInput) String() string { +func (s CancelChangeSetInput) String() string { return awsutil.Prettify(s) } @@ -1953,13 +1904,13 @@ func (s DescribeChangeSetInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetInput) GoString() string { +func (s CancelChangeSetInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeChangeSetInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeChangeSetInput"} +func (s *CancelChangeSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelChangeSetInput"} if s.Catalog == nil { invalidParams.Add(request.NewErrParamRequired("Catalog")) } @@ -1980,55 +1931,25 @@ func (s *DescribeChangeSetInput) Validate() error { } // SetCatalog sets the Catalog field's value. -func (s *DescribeChangeSetInput) SetCatalog(v string) *DescribeChangeSetInput { +func (s *CancelChangeSetInput) SetCatalog(v string) *CancelChangeSetInput { s.Catalog = &v return s } // SetChangeSetId sets the ChangeSetId field's value. -func (s *DescribeChangeSetInput) SetChangeSetId(v string) *DescribeChangeSetInput { +func (s *CancelChangeSetInput) SetChangeSetId(v string) *CancelChangeSetInput { s.ChangeSetId = &v return s } -type DescribeChangeSetOutput struct { +type CancelChangeSetOutput struct { _ struct{} `type:"structure"` - // An array of ChangeSummary objects. - ChangeSet []*ChangeSummary `type:"list"` - - // The ARN associated with the unique identifier for the change set referenced - // in this request. + // The ARN associated with the change set referenced in this request. ChangeSetArn *string `min:"1" type:"string"` - // Required. The unique identifier for the change set referenced in this request. + // The unique identifier for the change set referenced in this request. ChangeSetId *string `min:"1" type:"string"` - - // The optional name provided in the StartChangeSet request. If you do not provide - // a name, one is set by default. - ChangeSetName *string `min:"1" type:"string"` - - // 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. - EndTime *string `min:"20" type:"string"` - - // 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. - FailureCode *string `type:"string" enum:"FailureCode"` - - // Returned if there is a failure on the change set, but that failure is not - // related to any of the changes in the request. - FailureDescription *string `min:"1" type:"string"` - - // The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request - // started. - StartTime *string `min:"20" type:"string"` - - // The status of the change request. - Status *string `type:"string" enum:"ChangeStatus"` } // String returns the string representation. @@ -2036,7 +1957,7 @@ type DescribeChangeSetOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetOutput) String() string { +func (s CancelChangeSetOutput) String() string { return awsutil.Prettify(s) } @@ -2045,76 +1966,53 @@ func (s DescribeChangeSetOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeChangeSetOutput) GoString() string { +func (s CancelChangeSetOutput) GoString() string { return s.String() } -// SetChangeSet sets the ChangeSet field's value. -func (s *DescribeChangeSetOutput) SetChangeSet(v []*ChangeSummary) *DescribeChangeSetOutput { - s.ChangeSet = v - return s -} - // SetChangeSetArn sets the ChangeSetArn field's value. -func (s *DescribeChangeSetOutput) SetChangeSetArn(v string) *DescribeChangeSetOutput { +func (s *CancelChangeSetOutput) SetChangeSetArn(v string) *CancelChangeSetOutput { s.ChangeSetArn = &v return s } // SetChangeSetId sets the ChangeSetId field's value. -func (s *DescribeChangeSetOutput) SetChangeSetId(v string) *DescribeChangeSetOutput { +func (s *CancelChangeSetOutput) SetChangeSetId(v string) *CancelChangeSetOutput { s.ChangeSetId = &v return s } -// SetChangeSetName sets the ChangeSetName field's value. -func (s *DescribeChangeSetOutput) SetChangeSetName(v string) *DescribeChangeSetOutput { - s.ChangeSetName = &v - return s -} +// An object that contains the ChangeType, Details, and Entity. +type Change struct { + _ struct{} `type:"structure"` -// SetEndTime sets the EndTime field's value. -func (s *DescribeChangeSetOutput) SetEndTime(v string) *DescribeChangeSetOutput { - s.EndTime = &v - return s -} + // Optional name for the change. + ChangeName *string `min:"1" type:"string"` -// SetFailureCode sets the FailureCode field's value. -func (s *DescribeChangeSetOutput) SetFailureCode(v string) *DescribeChangeSetOutput { - s.FailureCode = &v - return s -} + // Change types are single string values that describe your intention for the + // change. Each change type is unique for each EntityType provided in the change's + // scope. For more information on change types available for single-AMI products, + // see Working with single-AMI products (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/ami-products.html#working-with-single-AMI-products). + // Also, for more information about change types available for container-based + // products, see Working with container products (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/container-products.html#working-with-container-products). + // + // ChangeType is a required field + ChangeType *string `min:"1" type:"string" required:"true"` -// SetFailureDescription sets the FailureDescription field's value. -func (s *DescribeChangeSetOutput) SetFailureDescription(v string) *DescribeChangeSetOutput { - s.FailureDescription = &v - return s -} + // This object contains details specific to the change type of the requested + // change. For more information about change types available for single-AMI + // products, see Working with single-AMI products (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/ami-products.html#working-with-single-AMI-products). + // Also, for more information about change types available for container-based + // products, see Working with container products (https://docs.aws.amazon.com/marketplace-catalog/latest/api-reference/container-products.html#working-with-container-products). + Details *string `min:"2" type:"string"` -// SetStartTime sets the StartTime field's value. -func (s *DescribeChangeSetOutput) SetStartTime(v string) *DescribeChangeSetOutput { - s.StartTime = &v - return s -} + // The entity to be changed. + // + // Entity is a required field + Entity *Entity `type:"structure" required:"true"` -// SetStatus sets the Status field's value. -func (s *DescribeChangeSetOutput) SetStatus(v string) *DescribeChangeSetOutput { - s.Status = &v - return s -} - -type DescribeEntityInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // Required. The catalog related to the request. Fixed value: AWSMarketplace - // - // Catalog is a required field - Catalog *string `location:"querystring" locationName:"catalog" min:"1" type:"string" required:"true"` - - // Required. The unique ID of the entity to describe. - // - // EntityId is a required field - EntityId *string `location:"querystring" locationName:"entityId" min:"1" type:"string" required:"true"` + // The tags associated with the change. + EntityTags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -2122,7 +2020,7 @@ type DescribeEntityInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeEntityInput) String() string { +func (s Change) String() string { return awsutil.Prettify(s) } @@ -2131,24 +2029,45 @@ func (s DescribeEntityInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeEntityInput) GoString() string { +func (s Change) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeEntityInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeEntityInput"} - if s.Catalog == nil { - invalidParams.Add(request.NewErrParamRequired("Catalog")) +func (s *Change) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Change"} + if s.ChangeName != nil && len(*s.ChangeName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeName", 1)) } - if s.Catalog != nil && len(*s.Catalog) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) + if s.ChangeType == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeType")) } - if s.EntityId == nil { - invalidParams.Add(request.NewErrParamRequired("EntityId")) + if s.ChangeType != nil && len(*s.ChangeType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeType", 1)) } - if s.EntityId != nil && len(*s.EntityId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + if s.Details != nil && len(*s.Details) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Details", 2)) + } + if s.Entity == nil { + invalidParams.Add(request.NewErrParamRequired("Entity")) + } + if s.EntityTags != nil && len(s.EntityTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityTags", 1)) + } + if s.Entity != nil { + if err := s.Entity.Validate(); err != nil { + invalidParams.AddNested("Entity", err.(request.ErrInvalidParams)) + } + } + if s.EntityTags != nil { + for i, v := range s.EntityTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EntityTags", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -2157,36 +2076,72 @@ func (s *DescribeEntityInput) Validate() error { return nil } -// SetCatalog sets the Catalog field's value. -func (s *DescribeEntityInput) SetCatalog(v string) *DescribeEntityInput { - s.Catalog = &v +// SetChangeName sets the ChangeName field's value. +func (s *Change) SetChangeName(v string) *Change { + s.ChangeName = &v return s } -// SetEntityId sets the EntityId field's value. -func (s *DescribeEntityInput) SetEntityId(v string) *DescribeEntityInput { - s.EntityId = &v +// SetChangeType sets the ChangeType field's value. +func (s *Change) SetChangeType(v string) *Change { + s.ChangeType = &v return s } -type DescribeEntityOutput struct { +// SetDetails sets the Details field's value. +func (s *Change) SetDetails(v string) *Change { + s.Details = &v + return s +} + +// SetEntity sets the Entity field's value. +func (s *Change) SetEntity(v *Entity) *Change { + s.Entity = v + return s +} + +// SetEntityTags sets the EntityTags field's value. +func (s *Change) SetEntityTags(v []*Tag) *Change { + s.EntityTags = v + return s +} + +// A summary of a change set returned in a list of change sets when the ListChangeSets +// action is called. +type ChangeSetSummaryListItem struct { _ struct{} `type:"structure"` - // This stringified JSON object includes the details of the entity. - Details *string `min:"2" type:"string"` + // The ARN associated with the unique identifier for the change set referenced + // in this request. + ChangeSetArn *string `min:"1" type:"string"` - // The ARN associated to the unique identifier for the entity referenced in - // this request. - EntityArn *string `min:"1" type:"string"` + // The unique identifier for a change set. + ChangeSetId *string `min:"1" type:"string"` - // The identifier of the entity, in the format of EntityId@RevisionId. - EntityIdentifier *string `min:"1" type:"string"` + // The non-unique name for the change set. + ChangeSetName *string `min:"1" type:"string"` - // The named type of the entity, in the format of EntityType@Version. - EntityType *string `min:"1" type:"string"` + // The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set + // was finished. + EndTime *string `min:"20" type:"string"` - // The last modified date of the entity, in ISO 8601 format (2018-02-27T13:45:22Z). - LastModifiedDate *string `min:"20" type:"string"` + // This object is a list of entity IDs (string) that are a part of a change + // set. The entity ID list is a maximum of 20 entities. It must contain at least + // one entity. + EntityIdList []*string `type:"list"` + + // 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 + // of DescribeChangeSet), or SERVER_FAULT, which means that there is a problem + // in the system, and you should retry your request. + FailureCode *string `type:"string" enum:"FailureCode"` + + // The time, in ISO 8601 format (2018-02-27T13:45:22Z), when the change set + // was started. + StartTime *string `min:"20" type:"string"` + + // The current status of the change set. + Status *string `type:"string" enum:"ChangeStatus"` } // String returns the string representation. @@ -2194,7 +2149,7 @@ type DescribeEntityOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeEntityOutput) String() string { +func (s ChangeSetSummaryListItem) String() string { return awsutil.Prettify(s) } @@ -2203,52 +2158,78 @@ func (s DescribeEntityOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeEntityOutput) GoString() string { +func (s ChangeSetSummaryListItem) GoString() string { return s.String() } -// SetDetails sets the Details field's value. -func (s *DescribeEntityOutput) SetDetails(v string) *DescribeEntityOutput { - s.Details = &v +// SetChangeSetArn sets the ChangeSetArn field's value. +func (s *ChangeSetSummaryListItem) SetChangeSetArn(v string) *ChangeSetSummaryListItem { + s.ChangeSetArn = &v return s } -// SetEntityArn sets the EntityArn field's value. -func (s *DescribeEntityOutput) SetEntityArn(v string) *DescribeEntityOutput { - s.EntityArn = &v +// SetChangeSetId sets the ChangeSetId field's value. +func (s *ChangeSetSummaryListItem) SetChangeSetId(v string) *ChangeSetSummaryListItem { + s.ChangeSetId = &v return s } -// SetEntityIdentifier sets the EntityIdentifier field's value. -func (s *DescribeEntityOutput) SetEntityIdentifier(v string) *DescribeEntityOutput { - s.EntityIdentifier = &v +// SetChangeSetName sets the ChangeSetName field's value. +func (s *ChangeSetSummaryListItem) SetChangeSetName(v string) *ChangeSetSummaryListItem { + s.ChangeSetName = &v return s } -// SetEntityType sets the EntityType field's value. -func (s *DescribeEntityOutput) SetEntityType(v string) *DescribeEntityOutput { - s.EntityType = &v +// SetEndTime sets the EndTime field's value. +func (s *ChangeSetSummaryListItem) SetEndTime(v string) *ChangeSetSummaryListItem { + s.EndTime = &v return s } -// SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *DescribeEntityOutput) SetLastModifiedDate(v string) *DescribeEntityOutput { - s.LastModifiedDate = &v +// SetEntityIdList sets the EntityIdList field's value. +func (s *ChangeSetSummaryListItem) SetEntityIdList(v []*string) *ChangeSetSummaryListItem { + s.EntityIdList = v return s } -// An entity contains data that describes your product, its supported features, -// and how it can be used or launched by your customer. -type Entity struct { +// SetFailureCode sets the FailureCode field's value. +func (s *ChangeSetSummaryListItem) SetFailureCode(v string) *ChangeSetSummaryListItem { + s.FailureCode = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ChangeSetSummaryListItem) SetStartTime(v string) *ChangeSetSummaryListItem { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ChangeSetSummaryListItem) SetStatus(v string) *ChangeSetSummaryListItem { + s.Status = &v + return s +} + +// This object is a container for common summary information about the change. +// The summary doesn't contain the whole change structure. +type ChangeSummary struct { _ struct{} `type:"structure"` - // The identifier for the entity. - Identifier *string `min:"1" type:"string"` + // Optional name for the change. + ChangeName *string `min:"1" type:"string"` - // The type of entity. - // - // Type is a required field - Type *string `min:"1" type:"string" required:"true"` + // The type of the change. + ChangeType *string `min:"1" type:"string"` + + // This object contains details specific to the change type of the requested + // change. + Details *string `min:"2" type:"string"` + + // The entity to be changed. + Entity *Entity `type:"structure"` + + // An array of ErrorDetail objects associated with the change. + ErrorDetailList []*ErrorDetail `type:"list"` } // String returns the string representation. @@ -2256,7 +2237,7 @@ type Entity struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Entity) String() string { +func (s ChangeSummary) String() string { return awsutil.Prettify(s) } @@ -2265,67 +2246,101 @@ func (s Entity) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Entity) GoString() string { +func (s ChangeSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Entity) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Entity"} - if s.Identifier != nil && len(*s.Identifier) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.Type != nil && len(*s.Type) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Type", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetChangeName sets the ChangeName field's value. +func (s *ChangeSummary) SetChangeName(v string) *ChangeSummary { + s.ChangeName = &v + return s } -// SetIdentifier sets the Identifier field's value. -func (s *Entity) SetIdentifier(v string) *Entity { - s.Identifier = &v +// SetChangeType sets the ChangeType field's value. +func (s *ChangeSummary) SetChangeType(v string) *ChangeSummary { + s.ChangeType = &v return s } -// SetType sets the Type field's value. -func (s *Entity) SetType(v string) *Entity { - s.Type = &v +// SetDetails sets the Details field's value. +func (s *ChangeSummary) SetDetails(v string) *ChangeSummary { + s.Details = &v return s } -// 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. -type EntitySummary struct { - _ struct{} `type:"structure"` +// SetEntity sets the Entity field's value. +func (s *ChangeSummary) SetEntity(v *Entity) *ChangeSummary { + s.Entity = v + return s +} - // The ARN associated with the unique identifier for the entity. - EntityArn *string `min:"1" type:"string"` +// SetErrorDetailList sets the ErrorDetailList field's value. +func (s *ChangeSummary) SetErrorDetailList(v []*ErrorDetail) *ChangeSummary { + s.ErrorDetailList = v + return s +} - // The unique identifier for the entity. - EntityId *string `min:"1" type:"string"` +// Object that allows filtering on entity id of a container product. +type ContainerProductEntityIdFilter struct { + _ struct{} `type:"structure"` - // The type of the entity. - EntityType *string `min:"1" type:"string"` + // A string array of unique entity id values to be filtered on. + ValueList []*string `min:"1" type:"list"` +} - // The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z). - LastModifiedDate *string `min:"20" type:"string"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerProductEntityIdFilter) String() string { + return awsutil.Prettify(s) +} - // The name for the entity. This value is not unique. It is defined by the seller. - Name *string `min:"1" type:"string"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerProductEntityIdFilter) GoString() string { + return s.String() +} - // 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). - Visibility *string `min:"1" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerProductEntityIdFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerProductEntityIdFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *ContainerProductEntityIdFilter) SetValueList(v []*string) *ContainerProductEntityIdFilter { + s.ValueList = v + return s +} + +// Object containing all the filter fields for container products. Client can +// add a maximum of 8 filters in a single ListEntities request. +type ContainerProductFilters struct { + _ struct{} `type:"structure"` + + // Unique identifier for the container product. + EntityId *ContainerProductEntityIdFilter `type:"structure"` + + // The last date on which the container product was modified. + LastModifiedDate *ContainerProductLastModifiedDateFilter `type:"structure"` + + // The title of the container product. + ProductTitle *ContainerProductTitleFilter `type:"structure"` + + // The visibility of the container product. + Visibility *ContainerProductVisibilityFilter `type:"structure"` } // String returns the string representation. @@ -2333,7 +2348,7 @@ type EntitySummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EntitySummary) String() string { +func (s ContainerProductFilters) String() string { return awsutil.Prettify(s) } @@ -2342,55 +2357,71 @@ func (s EntitySummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s EntitySummary) GoString() string { +func (s ContainerProductFilters) GoString() string { return s.String() } -// SetEntityArn sets the EntityArn field's value. -func (s *EntitySummary) SetEntityArn(v string) *EntitySummary { - s.EntityArn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerProductFilters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerProductFilters"} + if s.EntityId != nil { + if err := s.EntityId.Validate(); err != nil { + invalidParams.AddNested("EntityId", err.(request.ErrInvalidParams)) + } + } + if s.LastModifiedDate != nil { + if err := s.LastModifiedDate.Validate(); err != nil { + invalidParams.AddNested("LastModifiedDate", err.(request.ErrInvalidParams)) + } + } + if s.ProductTitle != nil { + if err := s.ProductTitle.Validate(); err != nil { + invalidParams.AddNested("ProductTitle", err.(request.ErrInvalidParams)) + } + } + if s.Visibility != nil { + if err := s.Visibility.Validate(); err != nil { + invalidParams.AddNested("Visibility", err.(request.ErrInvalidParams)) + } + } -// SetEntityId sets the EntityId field's value. -func (s *EntitySummary) SetEntityId(v string) *EntitySummary { - s.EntityId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetEntityType sets the EntityType field's value. -func (s *EntitySummary) SetEntityType(v string) *EntitySummary { - s.EntityType = &v +// SetEntityId sets the EntityId field's value. +func (s *ContainerProductFilters) SetEntityId(v *ContainerProductEntityIdFilter) *ContainerProductFilters { + s.EntityId = v return s } // SetLastModifiedDate sets the LastModifiedDate field's value. -func (s *EntitySummary) SetLastModifiedDate(v string) *EntitySummary { - s.LastModifiedDate = &v +func (s *ContainerProductFilters) SetLastModifiedDate(v *ContainerProductLastModifiedDateFilter) *ContainerProductFilters { + s.LastModifiedDate = v return s } -// SetName sets the Name field's value. -func (s *EntitySummary) SetName(v string) *EntitySummary { - s.Name = &v +// SetProductTitle sets the ProductTitle field's value. +func (s *ContainerProductFilters) SetProductTitle(v *ContainerProductTitleFilter) *ContainerProductFilters { + s.ProductTitle = v return s } // SetVisibility sets the Visibility field's value. -func (s *EntitySummary) SetVisibility(v string) *EntitySummary { - s.Visibility = &v +func (s *ContainerProductFilters) SetVisibility(v *ContainerProductVisibilityFilter) *ContainerProductFilters { + s.Visibility = v return s } -// Details about the error. -type ErrorDetail struct { +// Object that allows filtering based on the last modified date of container +// products. +type ContainerProductLastModifiedDateFilter struct { _ struct{} `type:"structure"` - // The error code that identifies the type of error. - ErrorCode *string `min:"1" type:"string"` - - // The message for the error. - ErrorMessage *string `min:"1" type:"string"` + // Dates between which the container product was last modified. + DateRange *ContainerProductLastModifiedDateFilterDateRange `type:"structure"` } // String returns the string representation. @@ -2398,7 +2429,7 @@ type ErrorDetail struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ErrorDetail) String() string { +func (s ContainerProductLastModifiedDateFilter) String() string { return awsutil.Prettify(s) } @@ -2407,57 +2438,42 @@ func (s ErrorDetail) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ErrorDetail) GoString() string { +func (s ContainerProductLastModifiedDateFilter) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail { - s.ErrorCode = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerProductLastModifiedDateFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerProductLastModifiedDateFilter"} + if s.DateRange != nil { + if err := s.DateRange.Validate(); err != nil { + invalidParams.AddNested("DateRange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { - s.ErrorMessage = &v +// SetDateRange sets the DateRange field's value. +func (s *ContainerProductLastModifiedDateFilter) SetDateRange(v *ContainerProductLastModifiedDateFilterDateRange) *ContainerProductLastModifiedDateFilter { + s.DateRange = v return s } -// A filter object, used to optionally filter results from calls to the ListEntities -// and ListChangeSets actions. -type Filter struct { +// 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. +type ContainerProductLastModifiedDateFilterDateRange struct { _ struct{} `type:"structure"` - // For ListEntities, the supported value for this is an EntityId. - // - // For ListChangeSets, the supported values are as follows: - Name *string `min:"1" type:"string"` + // Date after which the container product was last modified. + AfterValue *string `min:"20" type:"string"` - // ListEntities - This is a list of unique EntityIds. - // - // ListChangeSets - The supported filter names and associated ValueLists is - // as follows: - // - // * ChangeSetName - The supported ValueList is a list of non-unique ChangeSetNames. - // 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 EntityIds. - // - // * 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. - ValueList []*string `min:"1" type:"list"` + // Date before which the container product was last modified. + BeforeValue *string `min:"20" type:"string"` } // String returns the string representation. @@ -2465,7 +2481,7 @@ type Filter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Filter) String() string { +func (s ContainerProductLastModifiedDateFilterDateRange) String() string { return awsutil.Prettify(s) } @@ -2474,18 +2490,18 @@ func (s Filter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Filter) GoString() string { +func (s ContainerProductLastModifiedDateFilterDateRange) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *Filter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Filter"} - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) +func (s *ContainerProductLastModifiedDateFilterDateRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerProductLastModifiedDateFilterDateRange"} + if s.AfterValue != nil && len(*s.AfterValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AfterValue", 20)) } - if s.ValueList != nil && len(s.ValueList) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + if s.BeforeValue != nil && len(*s.BeforeValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BeforeValue", 20)) } if invalidParams.Len() > 0 { @@ -2494,26 +2510,28 @@ func (s *Filter) Validate() error { return nil } -// SetName sets the Name field's value. -func (s *Filter) SetName(v string) *Filter { - s.Name = &v +// SetAfterValue sets the AfterValue field's value. +func (s *ContainerProductLastModifiedDateFilterDateRange) SetAfterValue(v string) *ContainerProductLastModifiedDateFilterDateRange { + s.AfterValue = &v return s } -// SetValueList sets the ValueList field's value. -func (s *Filter) SetValueList(v []*string) *Filter { - s.ValueList = v +// SetBeforeValue sets the BeforeValue field's value. +func (s *ContainerProductLastModifiedDateFilterDateRange) SetBeforeValue(v string) *ContainerProductLastModifiedDateFilterDateRange { + s.BeforeValue = &v return s } -type GetResourcePolicyInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// Objects that allows sorting on container products based on certain fields +// and sorting order. +type ContainerProductSort struct { + _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the entity resource that is associated - // with the resource policy. - // - // ResourceArn is a required field - ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"` + // Field to sort the container products by. + SortBy *string `type:"string" enum:"ContainerProductSortBy"` + + // The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING. + SortOrder *string `type:"string" enum:"SortOrder"` } // String returns the string representation. @@ -2521,7 +2539,7 @@ type GetResourcePolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetResourcePolicyInput) String() string { +func (s ContainerProductSort) String() string { return awsutil.Prettify(s) } @@ -2530,37 +2548,31 @@ func (s GetResourcePolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetResourcePolicyInput) GoString() string { +func (s ContainerProductSort) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetResourcePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetSortBy sets the SortBy field's value. +func (s *ContainerProductSort) SetSortBy(v string) *ContainerProductSort { + s.SortBy = &v + return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { - s.ResourceArn = &v +// SetSortOrder sets the SortOrder field's value. +func (s *ContainerProductSort) SetSortOrder(v string) *ContainerProductSort { + s.SortOrder = &v return s } -type GetResourcePolicyOutput struct { +// Object that contains summarized information about a container product. +type ContainerProductSummary struct { _ struct{} `type:"structure"` - // The policy document to set; formatted in JSON. - Policy *string `min:"1" type:"string"` + // The title of the container product. + ProductTitle *string `min:"1" type:"string"` + + // The lifecycle of the product. + Visibility *string `type:"string" enum:"ContainerProductVisibilityString"` } // String returns the string representation. @@ -2568,7 +2580,7 @@ type GetResourcePolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetResourcePolicyOutput) String() string { +func (s ContainerProductSummary) String() string { return awsutil.Prettify(s) } @@ -2577,24 +2589,32 @@ func (s GetResourcePolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetResourcePolicyOutput) GoString() string { +func (s ContainerProductSummary) GoString() string { return s.String() } -// SetPolicy sets the Policy field's value. -func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput { - s.Policy = &v +// SetProductTitle sets the ProductTitle field's value. +func (s *ContainerProductSummary) SetProductTitle(v string) *ContainerProductSummary { + s.ProductTitle = &v return s } -// There was an internal service exception. -// -// HTTP status code: 500 -type InternalServiceException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetVisibility sets the Visibility field's value. +func (s *ContainerProductSummary) SetVisibility(v string) *ContainerProductSummary { + s.Visibility = &v + return s +} - Message_ *string `locationName:"Message" min:"1" type:"string"` +// Object that allows filtering on product title. +type ContainerProductTitleFilter struct { + _ struct{} `type:"structure"` + + // A string array of unique product title values to be filtered on. + ValueList []*string `min:"1" type:"list"` + + // A string that will be the wildCard input for product tile filter. It matches + // the provided value as a substring in the actual value. + WildCardValue *string `min:"1" type:"string"` } // String returns the string representation. @@ -2602,7 +2622,7 @@ type InternalServiceException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServiceException) String() string { +func (s ContainerProductTitleFilter) String() string { return awsutil.Prettify(s) } @@ -2611,70 +2631,90 @@ func (s InternalServiceException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServiceException) GoString() string { +func (s ContainerProductTitleFilter) GoString() string { return s.String() } -func newErrorInternalServiceException(v protocol.ResponseMetadata) error { - return &InternalServiceException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerProductTitleFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerProductTitleFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) } -} - -// Code returns the exception type name. -func (s *InternalServiceException) Code() string { - return "InternalServiceException" -} - -// Message returns the exception's message. -func (s *InternalServiceException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.WildCardValue != nil && len(*s.WildCardValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServiceException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InternalServiceException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetValueList sets the ValueList field's value. +func (s *ContainerProductTitleFilter) SetValueList(v []*string) *ContainerProductTitleFilter { + s.ValueList = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InternalServiceException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetWildCardValue sets the WildCardValue field's value. +func (s *ContainerProductTitleFilter) SetWildCardValue(v string) *ContainerProductTitleFilter { + s.WildCardValue = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InternalServiceException) RequestID() string { - return s.RespMetadata.RequestID +// Object that allows filtering on the visibility of the product in the AWS +// Marketplace. +type ContainerProductVisibilityFilter struct { + _ struct{} `type:"structure"` + + // A string array of unique visibility values to be filtered on. + ValueList []*string `min:"1" type:"list" enum:"ContainerProductVisibilityString"` } -type ListChangeSetsInput struct { - _ struct{} `type:"structure"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerProductVisibilityFilter) String() string { + return awsutil.Prettify(s) +} - // The catalog related to the request. Fixed value: AWSMarketplace - // - // Catalog is a required field - Catalog *string `min:"1" type:"string" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ContainerProductVisibilityFilter) GoString() string { + return s.String() +} - // An array of filter objects. - FilterList []*Filter `min:"1" type:"list"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *ContainerProductVisibilityFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ContainerProductVisibilityFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } - // 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. - MaxResults *int64 `min:"1" type:"integer"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `min:"1" type:"string"` +// SetValueList sets the ValueList field's value. +func (s *ContainerProductVisibilityFilter) SetValueList(v []*string) *ContainerProductVisibilityFilter { + s.ValueList = v + return s +} - // An object that contains two attributes, SortBy and SortOrder. - Sort *Sort `type:"structure"` +// Object that allows filtering on entity id of a data product. +type DataProductEntityIdFilter struct { + _ struct{} `type:"structure"` + + // A string array of unique entity id values to be filtered on. + ValueList []*string `min:"1" type:"list"` } // String returns the string representation. @@ -2682,7 +2722,7 @@ type ListChangeSetsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListChangeSetsInput) String() string { +func (s DataProductEntityIdFilter) String() string { return awsutil.Prettify(s) } @@ -2691,41 +2731,86 @@ func (s ListChangeSetsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListChangeSetsInput) GoString() string { +func (s DataProductEntityIdFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListChangeSetsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListChangeSetsInput"} - if s.Catalog == nil { - invalidParams.Add(request.NewErrParamRequired("Catalog")) - } - if s.Catalog != nil && len(*s.Catalog) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) +func (s *DataProductEntityIdFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataProductEntityIdFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) } - if s.FilterList != nil && len(s.FilterList) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FilterList", 1)) + + if invalidParams.Len() > 0 { + return invalidParams } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *DataProductEntityIdFilter) SetValueList(v []*string) *DataProductEntityIdFilter { + s.ValueList = v + return s +} + +// Object containing all the filter fields for data products. Client can add +// a maximum of 8 filters in a single ListEntities request. +type DataProductFilters struct { + _ struct{} `type:"structure"` + + // Unique identifier for the data product. + EntityId *DataProductEntityIdFilter `type:"structure"` + + // The last date on which the data product was modified. + LastModifiedDate *DataProductLastModifiedDateFilter `type:"structure"` + + // The title of the data product. + ProductTitle *DataProductTitleFilter `type:"structure"` + + // The visibility of the data product. + Visibility *DataProductVisibilityFilter `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataProductFilters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataProductFilters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataProductFilters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataProductFilters"} + if s.EntityId != nil { + if err := s.EntityId.Validate(); err != nil { + invalidParams.AddNested("EntityId", err.(request.ErrInvalidParams)) + } } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + if s.LastModifiedDate != nil { + if err := s.LastModifiedDate.Validate(); err != nil { + invalidParams.AddNested("LastModifiedDate", err.(request.ErrInvalidParams)) + } } - if s.FilterList != nil { - for i, v := range s.FilterList { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FilterList", i), err.(request.ErrInvalidParams)) - } + if s.ProductTitle != nil { + if err := s.ProductTitle.Validate(); err != nil { + invalidParams.AddNested("ProductTitle", err.(request.ErrInvalidParams)) } } - if s.Sort != nil { - if err := s.Sort.Validate(); err != nil { - invalidParams.AddNested("Sort", err.(request.ErrInvalidParams)) + if s.Visibility != nil { + if err := s.Visibility.Validate(); err != nil { + invalidParams.AddNested("Visibility", err.(request.ErrInvalidParams)) } } @@ -2735,44 +2820,36 @@ func (s *ListChangeSetsInput) Validate() error { return nil } -// SetCatalog sets the Catalog field's value. -func (s *ListChangeSetsInput) SetCatalog(v string) *ListChangeSetsInput { - s.Catalog = &v - return s -} - -// SetFilterList sets the FilterList field's value. -func (s *ListChangeSetsInput) SetFilterList(v []*Filter) *ListChangeSetsInput { - s.FilterList = v +// SetEntityId sets the EntityId field's value. +func (s *DataProductFilters) SetEntityId(v *DataProductEntityIdFilter) *DataProductFilters { + s.EntityId = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListChangeSetsInput) SetMaxResults(v int64) *ListChangeSetsInput { - s.MaxResults = &v +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *DataProductFilters) SetLastModifiedDate(v *DataProductLastModifiedDateFilter) *DataProductFilters { + s.LastModifiedDate = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListChangeSetsInput) SetNextToken(v string) *ListChangeSetsInput { - s.NextToken = &v +// SetProductTitle sets the ProductTitle field's value. +func (s *DataProductFilters) SetProductTitle(v *DataProductTitleFilter) *DataProductFilters { + s.ProductTitle = v return s } -// SetSort sets the Sort field's value. -func (s *ListChangeSetsInput) SetSort(v *Sort) *ListChangeSetsInput { - s.Sort = v +// SetVisibility sets the Visibility field's value. +func (s *DataProductFilters) SetVisibility(v *DataProductVisibilityFilter) *DataProductFilters { + s.Visibility = v return s } -type ListChangeSetsOutput struct { +// Object that allows filtering based on the last modified date of data products. +type DataProductLastModifiedDateFilter struct { _ struct{} `type:"structure"` - // Array of ChangeSetSummaryListItem objects. - ChangeSetSummaryList []*ChangeSetSummaryListItem `type:"list"` - - // The value of the next token, if it exists. Null if there are no more results. - NextToken *string `min:"1" type:"string"` + // Dates between which the data product was last modified. + DateRange *DataProductLastModifiedDateFilterDateRange `type:"structure"` } // String returns the string representation. @@ -2780,7 +2857,7 @@ type ListChangeSetsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListChangeSetsOutput) String() string { +func (s DataProductLastModifiedDateFilter) String() string { return awsutil.Prettify(s) } @@ -2789,54 +2866,42 @@ func (s ListChangeSetsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListChangeSetsOutput) GoString() string { +func (s DataProductLastModifiedDateFilter) GoString() string { return s.String() } -// SetChangeSetSummaryList sets the ChangeSetSummaryList field's value. -func (s *ListChangeSetsOutput) SetChangeSetSummaryList(v []*ChangeSetSummaryListItem) *ListChangeSetsOutput { - s.ChangeSetSummaryList = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataProductLastModifiedDateFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataProductLastModifiedDateFilter"} + if s.DateRange != nil { + if err := s.DateRange.Validate(); err != nil { + invalidParams.AddNested("DateRange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListChangeSetsOutput) SetNextToken(v string) *ListChangeSetsOutput { - s.NextToken = &v +// SetDateRange sets the DateRange field's value. +func (s *DataProductLastModifiedDateFilter) SetDateRange(v *DataProductLastModifiedDateFilterDateRange) *DataProductLastModifiedDateFilter { + s.DateRange = v return s } -type ListEntitiesInput struct { +// 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. +type DataProductLastModifiedDateFilterDateRange struct { _ struct{} `type:"structure"` - // The catalog related to the request. Fixed value: AWSMarketplace - // - // Catalog is a required field - Catalog *string `min:"1" type:"string" required:"true"` - - // The type of entities to retrieve. - // - // EntityType is a required field - EntityType *string `min:"1" type:"string" required:"true"` - - // An array of filter objects. Each filter object contains two attributes, filterName - // and filterValues. - FilterList []*Filter `min:"1" type:"list"` - - // Specifies the upper limit of the elements on a single page. If a value isn't - // provided, the default value is 20. - MaxResults *int64 `min:"1" type:"integer"` - - // The value of the next token, if it exists. Null if there are no more results. - NextToken *string `min:"1" type:"string"` - - // 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. - OwnershipType *string `type:"string" enum:"OwnershipType"` + // Date after which the data product was last modified. + AfterValue *string `min:"20" type:"string"` - // An object that contains two attributes, SortBy and SortOrder. - Sort *Sort `type:"structure"` + // Date before which the data product was last modified. + BeforeValue *string `min:"20" type:"string"` } // String returns the string representation. @@ -2844,7 +2909,7 @@ type ListEntitiesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEntitiesInput) String() string { +func (s DataProductLastModifiedDateFilterDateRange) String() string { return awsutil.Prettify(s) } @@ -2853,48 +2918,18 @@ func (s ListEntitiesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEntitiesInput) GoString() string { +func (s DataProductLastModifiedDateFilterDateRange) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListEntitiesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListEntitiesInput"} - if s.Catalog == nil { - invalidParams.Add(request.NewErrParamRequired("Catalog")) - } - if s.Catalog != nil && len(*s.Catalog) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) - } - if s.EntityType == nil { - invalidParams.Add(request.NewErrParamRequired("EntityType")) - } - if s.EntityType != nil && len(*s.EntityType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("EntityType", 1)) - } - if s.FilterList != nil && len(s.FilterList) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FilterList", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } - if s.FilterList != nil { - for i, v := range s.FilterList { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FilterList", i), err.(request.ErrInvalidParams)) - } - } +func (s *DataProductLastModifiedDateFilterDateRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataProductLastModifiedDateFilterDateRange"} + if s.AfterValue != nil && len(*s.AfterValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AfterValue", 20)) } - if s.Sort != nil { - if err := s.Sort.Validate(); err != nil { - invalidParams.AddNested("Sort", err.(request.ErrInvalidParams)) - } + if s.BeforeValue != nil && len(*s.BeforeValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BeforeValue", 20)) } if invalidParams.Len() > 0 { @@ -2903,56 +2938,4084 @@ func (s *ListEntitiesInput) Validate() error { return nil } -// SetCatalog sets the Catalog field's value. -func (s *ListEntitiesInput) SetCatalog(v string) *ListEntitiesInput { - s.Catalog = &v +// SetAfterValue sets the AfterValue field's value. +func (s *DataProductLastModifiedDateFilterDateRange) SetAfterValue(v string) *DataProductLastModifiedDateFilterDateRange { + s.AfterValue = &v return s } -// SetEntityType sets the EntityType field's value. -func (s *ListEntitiesInput) SetEntityType(v string) *ListEntitiesInput { - s.EntityType = &v +// SetBeforeValue sets the BeforeValue field's value. +func (s *DataProductLastModifiedDateFilterDateRange) SetBeforeValue(v string) *DataProductLastModifiedDateFilterDateRange { + s.BeforeValue = &v return s } -// SetFilterList sets the FilterList field's value. -func (s *ListEntitiesInput) SetFilterList(v []*Filter) *ListEntitiesInput { - s.FilterList = v - return s +// Objects that allows sorting on data products based on certain fields and +// sorting order. +type DataProductSort struct { + _ struct{} `type:"structure"` + + // Field to sort the data products by. + SortBy *string `type:"string" enum:"DataProductSortBy"` + + // The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING. + SortOrder *string `type:"string" enum:"SortOrder"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataProductSort) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataProductSort) GoString() string { + return s.String() +} + +// SetSortBy sets the SortBy field's value. +func (s *DataProductSort) SetSortBy(v string) *DataProductSort { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *DataProductSort) SetSortOrder(v string) *DataProductSort { + s.SortOrder = &v + return s +} + +// Object that contains summarized information about a data product. +type DataProductSummary struct { + _ struct{} `type:"structure"` + + // The title of the data product. + ProductTitle *string `min:"1" type:"string"` + + // The lifecycle of the data product. + Visibility *string `type:"string" enum:"DataProductVisibilityString"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataProductSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataProductSummary) GoString() string { + return s.String() +} + +// SetProductTitle sets the ProductTitle field's value. +func (s *DataProductSummary) SetProductTitle(v string) *DataProductSummary { + s.ProductTitle = &v + return s +} + +// SetVisibility sets the Visibility field's value. +func (s *DataProductSummary) SetVisibility(v string) *DataProductSummary { + s.Visibility = &v + return s +} + +// Object that allows filtering on product title. +type DataProductTitleFilter struct { + _ struct{} `type:"structure"` + + // A string array of unique product title values to be filtered on. + ValueList []*string `min:"1" type:"list"` + + // A string that will be the wildCard input for product tile filter. It matches + // the provided value as a substring in the actual value. + WildCardValue *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataProductTitleFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataProductTitleFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataProductTitleFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataProductTitleFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.WildCardValue != nil && len(*s.WildCardValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *DataProductTitleFilter) SetValueList(v []*string) *DataProductTitleFilter { + s.ValueList = v + return s +} + +// SetWildCardValue sets the WildCardValue field's value. +func (s *DataProductTitleFilter) SetWildCardValue(v string) *DataProductTitleFilter { + s.WildCardValue = &v + return s +} + +// Object that allows filtering on the visibility of the product in the AWS +// Marketplace. +type DataProductVisibilityFilter struct { + _ struct{} `type:"structure"` + + // A string array of unique visibility values to be filtered on. + ValueList []*string `min:"1" type:"list" enum:"DataProductVisibilityString"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataProductVisibilityFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataProductVisibilityFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataProductVisibilityFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataProductVisibilityFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *DataProductVisibilityFilter) SetValueList(v []*string) *DataProductVisibilityFilter { + s.ValueList = v + return s +} + +type DeleteResourcePolicyInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the entity resource that is associated + // with the resource policy. + // + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteResourcePolicyInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DeleteResourcePolicyInput) SetResourceArn(v string) *DeleteResourcePolicyInput { + s.ResourceArn = &v + return s +} + +type DeleteResourcePolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteResourcePolicyOutput) GoString() string { + return s.String() +} + +type DescribeChangeSetInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Required. The catalog related to the request. Fixed value: AWSMarketplace + // + // Catalog is a required field + Catalog *string `location:"querystring" locationName:"catalog" min:"1" type:"string" required:"true"` + + // Required. The unique identifier for the StartChangeSet request that you want + // to describe the details for. + // + // ChangeSetId is a required field + ChangeSetId *string `location:"querystring" locationName:"changeSetId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeChangeSetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeChangeSetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeChangeSetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeChangeSetInput"} + if s.Catalog == nil { + invalidParams.Add(request.NewErrParamRequired("Catalog")) + } + if s.Catalog != nil && len(*s.Catalog) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) + } + if s.ChangeSetId == nil { + invalidParams.Add(request.NewErrParamRequired("ChangeSetId")) + } + if s.ChangeSetId != nil && len(*s.ChangeSetId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ChangeSetId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalog sets the Catalog field's value. +func (s *DescribeChangeSetInput) SetCatalog(v string) *DescribeChangeSetInput { + s.Catalog = &v + return s +} + +// SetChangeSetId sets the ChangeSetId field's value. +func (s *DescribeChangeSetInput) SetChangeSetId(v string) *DescribeChangeSetInput { + s.ChangeSetId = &v + return s +} + +type DescribeChangeSetOutput struct { + _ struct{} `type:"structure"` + + // An array of ChangeSummary objects. + ChangeSet []*ChangeSummary `type:"list"` + + // The ARN associated with the unique identifier for the change set referenced + // in this request. + ChangeSetArn *string `min:"1" type:"string"` + + // Required. The unique identifier for the change set referenced in this request. + ChangeSetId *string `min:"1" type:"string"` + + // The optional name provided in the StartChangeSet request. If you do not provide + // a name, one is set by default. + ChangeSetName *string `min:"1" type:"string"` + + // 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. + EndTime *string `min:"20" type:"string"` + + // 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. + FailureCode *string `type:"string" enum:"FailureCode"` + + // Returned if there is a failure on the change set, but that failure is not + // related to any of the changes in the request. + FailureDescription *string `min:"1" type:"string"` + + // The date and time, in ISO 8601 format (2018-02-27T13:45:22Z), the request + // started. + StartTime *string `min:"20" type:"string"` + + // The status of the change request. + Status *string `type:"string" enum:"ChangeStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeChangeSetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeChangeSetOutput) GoString() string { + return s.String() +} + +// SetChangeSet sets the ChangeSet field's value. +func (s *DescribeChangeSetOutput) SetChangeSet(v []*ChangeSummary) *DescribeChangeSetOutput { + s.ChangeSet = v + return s +} + +// SetChangeSetArn sets the ChangeSetArn field's value. +func (s *DescribeChangeSetOutput) SetChangeSetArn(v string) *DescribeChangeSetOutput { + s.ChangeSetArn = &v + return s +} + +// SetChangeSetId sets the ChangeSetId field's value. +func (s *DescribeChangeSetOutput) SetChangeSetId(v string) *DescribeChangeSetOutput { + s.ChangeSetId = &v + return s +} + +// SetChangeSetName sets the ChangeSetName field's value. +func (s *DescribeChangeSetOutput) SetChangeSetName(v string) *DescribeChangeSetOutput { + s.ChangeSetName = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *DescribeChangeSetOutput) SetEndTime(v string) *DescribeChangeSetOutput { + s.EndTime = &v + return s +} + +// SetFailureCode sets the FailureCode field's value. +func (s *DescribeChangeSetOutput) SetFailureCode(v string) *DescribeChangeSetOutput { + s.FailureCode = &v + return s +} + +// SetFailureDescription sets the FailureDescription field's value. +func (s *DescribeChangeSetOutput) SetFailureDescription(v string) *DescribeChangeSetOutput { + s.FailureDescription = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *DescribeChangeSetOutput) SetStartTime(v string) *DescribeChangeSetOutput { + s.StartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeChangeSetOutput) SetStatus(v string) *DescribeChangeSetOutput { + s.Status = &v + return s +} + +type DescribeEntityInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // Required. The catalog related to the request. Fixed value: AWSMarketplace + // + // Catalog is a required field + Catalog *string `location:"querystring" locationName:"catalog" min:"1" type:"string" required:"true"` + + // Required. The unique ID of the entity to describe. + // + // EntityId is a required field + EntityId *string `location:"querystring" locationName:"entityId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeEntityInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeEntityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEntityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEntityInput"} + if s.Catalog == nil { + invalidParams.Add(request.NewErrParamRequired("Catalog")) + } + if s.Catalog != nil && len(*s.Catalog) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) + } + if s.EntityId == nil { + invalidParams.Add(request.NewErrParamRequired("EntityId")) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalog sets the Catalog field's value. +func (s *DescribeEntityInput) SetCatalog(v string) *DescribeEntityInput { + s.Catalog = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *DescribeEntityInput) SetEntityId(v string) *DescribeEntityInput { + s.EntityId = &v + return s +} + +type DescribeEntityOutput struct { + _ struct{} `type:"structure"` + + // This stringified JSON object includes the details of the entity. + Details *string `min:"2" type:"string"` + + // The ARN associated to the unique identifier for the entity referenced in + // this request. + EntityArn *string `min:"1" type:"string"` + + // The identifier of the entity, in the format of EntityId@RevisionId. + EntityIdentifier *string `min:"1" type:"string"` + + // The named type of the entity, in the format of EntityType@Version. + EntityType *string `min:"1" type:"string"` + + // The last modified date of the entity, in ISO 8601 format (2018-02-27T13:45:22Z). + LastModifiedDate *string `min:"20" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeEntityOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeEntityOutput) GoString() string { + return s.String() +} + +// SetDetails sets the Details field's value. +func (s *DescribeEntityOutput) SetDetails(v string) *DescribeEntityOutput { + s.Details = &v + return s +} + +// SetEntityArn sets the EntityArn field's value. +func (s *DescribeEntityOutput) SetEntityArn(v string) *DescribeEntityOutput { + s.EntityArn = &v + return s +} + +// SetEntityIdentifier sets the EntityIdentifier field's value. +func (s *DescribeEntityOutput) SetEntityIdentifier(v string) *DescribeEntityOutput { + s.EntityIdentifier = &v + return s +} + +// SetEntityType sets the EntityType field's value. +func (s *DescribeEntityOutput) SetEntityType(v string) *DescribeEntityOutput { + s.EntityType = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *DescribeEntityOutput) SetLastModifiedDate(v string) *DescribeEntityOutput { + s.LastModifiedDate = &v + return s +} + +// An entity contains data that describes your product, its supported features, +// and how it can be used or launched by your customer. +type Entity struct { + _ struct{} `type:"structure"` + + // The identifier for the entity. + Identifier *string `min:"1" type:"string"` + + // The type of entity. + // + // Type is a required field + Type *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Entity) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Entity) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Entity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Entity"} + if s.Identifier != nil && len(*s.Identifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Identifier", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Type != nil && len(*s.Type) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Type", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentifier sets the Identifier field's value. +func (s *Entity) SetIdentifier(v string) *Entity { + s.Identifier = &v + return s +} + +// SetType sets the Type field's value. +func (s *Entity) SetType(v string) *Entity { + s.Type = &v + return s +} + +// 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. +type EntitySummary struct { + _ struct{} `type:"structure"` + + // An object that contains summary information about the AMI product. + AmiProductSummary *AmiProductSummary `type:"structure"` + + // An object that contains summary information about the container product. + ContainerProductSummary *ContainerProductSummary `type:"structure"` + + // An object that contains summary information about the data product. + DataProductSummary *DataProductSummary `type:"structure"` + + // The ARN associated with the unique identifier for the entity. + EntityArn *string `min:"1" type:"string"` + + // The unique identifier for the entity. + EntityId *string `min:"1" type:"string"` + + // The type of the entity. + EntityType *string `min:"1" type:"string"` + + // The last time the entity was published, using ISO 8601 format (2018-02-27T13:45:22Z). + LastModifiedDate *string `min:"20" type:"string"` + + // The name for the entity. This value is not unique. It is defined by the seller. + Name *string `min:"1" type:"string"` + + // An object that contains summary information about the offer. + OfferSummary *OfferSummary `type:"structure"` + + // An object that contains summary information about the Resale Authorization. + ResaleAuthorizationSummary *ResaleAuthorizationSummary `type:"structure"` + + // An object that contains summary information about the SaaS product. + SaaSProductSummary *SaaSProductSummary `type:"structure"` + + // 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). + Visibility *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EntitySummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EntitySummary) GoString() string { + return s.String() +} + +// SetAmiProductSummary sets the AmiProductSummary field's value. +func (s *EntitySummary) SetAmiProductSummary(v *AmiProductSummary) *EntitySummary { + s.AmiProductSummary = v + return s +} + +// SetContainerProductSummary sets the ContainerProductSummary field's value. +func (s *EntitySummary) SetContainerProductSummary(v *ContainerProductSummary) *EntitySummary { + s.ContainerProductSummary = v + return s +} + +// SetDataProductSummary sets the DataProductSummary field's value. +func (s *EntitySummary) SetDataProductSummary(v *DataProductSummary) *EntitySummary { + s.DataProductSummary = v + return s +} + +// SetEntityArn sets the EntityArn field's value. +func (s *EntitySummary) SetEntityArn(v string) *EntitySummary { + s.EntityArn = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *EntitySummary) SetEntityId(v string) *EntitySummary { + s.EntityId = &v + return s +} + +// SetEntityType sets the EntityType field's value. +func (s *EntitySummary) SetEntityType(v string) *EntitySummary { + s.EntityType = &v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *EntitySummary) SetLastModifiedDate(v string) *EntitySummary { + s.LastModifiedDate = &v + return s +} + +// SetName sets the Name field's value. +func (s *EntitySummary) SetName(v string) *EntitySummary { + s.Name = &v + return s +} + +// SetOfferSummary sets the OfferSummary field's value. +func (s *EntitySummary) SetOfferSummary(v *OfferSummary) *EntitySummary { + s.OfferSummary = v + return s +} + +// SetResaleAuthorizationSummary sets the ResaleAuthorizationSummary field's value. +func (s *EntitySummary) SetResaleAuthorizationSummary(v *ResaleAuthorizationSummary) *EntitySummary { + s.ResaleAuthorizationSummary = v + return s +} + +// SetSaaSProductSummary sets the SaaSProductSummary field's value. +func (s *EntitySummary) SetSaaSProductSummary(v *SaaSProductSummary) *EntitySummary { + s.SaaSProductSummary = v + return s +} + +// SetVisibility sets the Visibility field's value. +func (s *EntitySummary) SetVisibility(v string) *EntitySummary { + s.Visibility = &v + return s +} + +// Object containing all the filter fields per entity type. +type EntityTypeFilters struct { + _ struct{} `type:"structure"` + + // A filter for AMI products. + AmiProductFilters *AmiProductFilters `type:"structure"` + + // A filter for container products. + ContainerProductFilters *ContainerProductFilters `type:"structure"` + + // A filter for data products. + DataProductFilters *DataProductFilters `type:"structure"` + + // A filter for offers. + OfferFilters *OfferFilters `type:"structure"` + + // A filter for Resale Authorizations. + ResaleAuthorizationFilters *ResaleAuthorizationFilters `type:"structure"` + + // A filter for SaaS products. + SaaSProductFilters *SaaSProductFilters `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EntityTypeFilters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EntityTypeFilters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EntityTypeFilters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EntityTypeFilters"} + if s.AmiProductFilters != nil { + if err := s.AmiProductFilters.Validate(); err != nil { + invalidParams.AddNested("AmiProductFilters", err.(request.ErrInvalidParams)) + } + } + if s.ContainerProductFilters != nil { + if err := s.ContainerProductFilters.Validate(); err != nil { + invalidParams.AddNested("ContainerProductFilters", err.(request.ErrInvalidParams)) + } + } + if s.DataProductFilters != nil { + if err := s.DataProductFilters.Validate(); err != nil { + invalidParams.AddNested("DataProductFilters", err.(request.ErrInvalidParams)) + } + } + if s.OfferFilters != nil { + if err := s.OfferFilters.Validate(); err != nil { + invalidParams.AddNested("OfferFilters", err.(request.ErrInvalidParams)) + } + } + if s.ResaleAuthorizationFilters != nil { + if err := s.ResaleAuthorizationFilters.Validate(); err != nil { + invalidParams.AddNested("ResaleAuthorizationFilters", err.(request.ErrInvalidParams)) + } + } + if s.SaaSProductFilters != nil { + if err := s.SaaSProductFilters.Validate(); err != nil { + invalidParams.AddNested("SaaSProductFilters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAmiProductFilters sets the AmiProductFilters field's value. +func (s *EntityTypeFilters) SetAmiProductFilters(v *AmiProductFilters) *EntityTypeFilters { + s.AmiProductFilters = v + return s +} + +// SetContainerProductFilters sets the ContainerProductFilters field's value. +func (s *EntityTypeFilters) SetContainerProductFilters(v *ContainerProductFilters) *EntityTypeFilters { + s.ContainerProductFilters = v + return s +} + +// SetDataProductFilters sets the DataProductFilters field's value. +func (s *EntityTypeFilters) SetDataProductFilters(v *DataProductFilters) *EntityTypeFilters { + s.DataProductFilters = v + return s +} + +// SetOfferFilters sets the OfferFilters field's value. +func (s *EntityTypeFilters) SetOfferFilters(v *OfferFilters) *EntityTypeFilters { + s.OfferFilters = v + return s +} + +// SetResaleAuthorizationFilters sets the ResaleAuthorizationFilters field's value. +func (s *EntityTypeFilters) SetResaleAuthorizationFilters(v *ResaleAuthorizationFilters) *EntityTypeFilters { + s.ResaleAuthorizationFilters = v + return s +} + +// SetSaaSProductFilters sets the SaaSProductFilters field's value. +func (s *EntityTypeFilters) SetSaaSProductFilters(v *SaaSProductFilters) *EntityTypeFilters { + s.SaaSProductFilters = v + return s +} + +// Object containing all the sort fields per entity type. +type EntityTypeSort struct { + _ struct{} `type:"structure"` + + // A sort for AMI products. + AmiProductSort *AmiProductSort `type:"structure"` + + // A sort for container products. + ContainerProductSort *ContainerProductSort `type:"structure"` + + // A sort for data products. + DataProductSort *DataProductSort `type:"structure"` + + // A sort for offers. + OfferSort *OfferSort `type:"structure"` + + // A sort for Resale Authorizations. + ResaleAuthorizationSort *ResaleAuthorizationSort `type:"structure"` + + // A sort for SaaS products. + SaaSProductSort *SaaSProductSort `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EntityTypeSort) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s EntityTypeSort) GoString() string { + return s.String() +} + +// SetAmiProductSort sets the AmiProductSort field's value. +func (s *EntityTypeSort) SetAmiProductSort(v *AmiProductSort) *EntityTypeSort { + s.AmiProductSort = v + return s +} + +// SetContainerProductSort sets the ContainerProductSort field's value. +func (s *EntityTypeSort) SetContainerProductSort(v *ContainerProductSort) *EntityTypeSort { + s.ContainerProductSort = v + return s +} + +// SetDataProductSort sets the DataProductSort field's value. +func (s *EntityTypeSort) SetDataProductSort(v *DataProductSort) *EntityTypeSort { + s.DataProductSort = v + return s +} + +// SetOfferSort sets the OfferSort field's value. +func (s *EntityTypeSort) SetOfferSort(v *OfferSort) *EntityTypeSort { + s.OfferSort = v + return s +} + +// SetResaleAuthorizationSort sets the ResaleAuthorizationSort field's value. +func (s *EntityTypeSort) SetResaleAuthorizationSort(v *ResaleAuthorizationSort) *EntityTypeSort { + s.ResaleAuthorizationSort = v + return s +} + +// SetSaaSProductSort sets the SaaSProductSort field's value. +func (s *EntityTypeSort) SetSaaSProductSort(v *SaaSProductSort) *EntityTypeSort { + s.SaaSProductSort = v + return s +} + +// Details about the error. +type ErrorDetail struct { + _ struct{} `type:"structure"` + + // The error code that identifies the type of error. + ErrorCode *string `min:"1" type:"string"` + + // The message for the error. + ErrorMessage *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ErrorDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ErrorDetail) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { + s.ErrorMessage = &v + return s +} + +// A filter object, used to optionally filter results from calls to the ListEntities +// and ListChangeSets actions. +type Filter struct { + _ struct{} `type:"structure"` + + // For ListEntities, the supported value for this is an EntityId. + // + // For ListChangeSets, the supported values are as follows: + Name *string `min:"1" type:"string"` + + // ListEntities - This is a list of unique EntityIds. + // + // ListChangeSets - The supported filter names and associated ValueLists is + // as follows: + // + // * ChangeSetName - The supported ValueList is a list of non-unique ChangeSetNames. + // 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 EntityIds. + // + // * 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. + ValueList []*string `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetValueList sets the ValueList field's value. +func (s *Filter) SetValueList(v []*string) *Filter { + s.ValueList = v + return s +} + +type GetResourcePolicyInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the entity resource that is associated + // with the resource policy. + // + // ResourceArn is a required field + ResourceArn *string `location:"querystring" locationName:"resourceArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { + s.ResourceArn = &v + return s +} + +type GetResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // The policy document to set; formatted in JSON. + Policy *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourcePolicyOutput) GoString() string { + return s.String() +} + +// SetPolicy sets the Policy field's value. +func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput { + s.Policy = &v + return s +} + +// There was an internal service exception. +// +// HTTP status code: 500 +type InternalServiceException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServiceException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServiceException) GoString() string { + return s.String() +} + +func newErrorInternalServiceException(v protocol.ResponseMetadata) error { + return &InternalServiceException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServiceException) Code() string { + return "InternalServiceException" +} + +// Message returns the exception's message. +func (s *InternalServiceException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServiceException) OrigErr() error { + return nil +} + +func (s *InternalServiceException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServiceException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServiceException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListChangeSetsInput struct { + _ struct{} `type:"structure"` + + // The catalog related to the request. Fixed value: AWSMarketplace + // + // Catalog is a required field + Catalog *string `min:"1" type:"string" required:"true"` + + // An array of filter objects. + FilterList []*Filter `min:"1" type:"list"` + + // 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. + MaxResults *int64 `min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `min:"1" type:"string"` + + // An object that contains two attributes, SortBy and SortOrder. + Sort *Sort `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListChangeSetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListChangeSetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListChangeSetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListChangeSetsInput"} + if s.Catalog == nil { + invalidParams.Add(request.NewErrParamRequired("Catalog")) + } + if s.Catalog != nil && len(*s.Catalog) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) + } + if s.FilterList != nil && len(s.FilterList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FilterList", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.FilterList != nil { + for i, v := range s.FilterList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FilterList", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Sort != nil { + if err := s.Sort.Validate(); err != nil { + invalidParams.AddNested("Sort", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalog sets the Catalog field's value. +func (s *ListChangeSetsInput) SetCatalog(v string) *ListChangeSetsInput { + s.Catalog = &v + return s +} + +// SetFilterList sets the FilterList field's value. +func (s *ListChangeSetsInput) SetFilterList(v []*Filter) *ListChangeSetsInput { + s.FilterList = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListChangeSetsInput) SetMaxResults(v int64) *ListChangeSetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListChangeSetsInput) SetNextToken(v string) *ListChangeSetsInput { + s.NextToken = &v + return s +} + +// SetSort sets the Sort field's value. +func (s *ListChangeSetsInput) SetSort(v *Sort) *ListChangeSetsInput { + s.Sort = v + return s +} + +type ListChangeSetsOutput struct { + _ struct{} `type:"structure"` + + // Array of ChangeSetSummaryListItem objects. + ChangeSetSummaryList []*ChangeSetSummaryListItem `type:"list"` + + // The value of the next token, if it exists. Null if there are no more results. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListChangeSetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListChangeSetsOutput) GoString() string { + return s.String() +} + +// SetChangeSetSummaryList sets the ChangeSetSummaryList field's value. +func (s *ListChangeSetsOutput) SetChangeSetSummaryList(v []*ChangeSetSummaryListItem) *ListChangeSetsOutput { + s.ChangeSetSummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListChangeSetsOutput) SetNextToken(v string) *ListChangeSetsOutput { + s.NextToken = &v + return s +} + +type ListEntitiesInput struct { + _ struct{} `type:"structure"` + + // The catalog related to the request. Fixed value: AWSMarketplace + // + // Catalog is a required field + Catalog *string `min:"1" type:"string" required:"true"` + + // The type of entities to retrieve. Valid values are: ServerProduct, AmiProduct, + // ContainerProduct, DataProduct, SaaSProduct, ProcurementPolicy, Experience, + // Audience, BrandingSettings, Offer, Seller, ResaleAuthorization. + // + // EntityType is a required field + EntityType *string `min:"1" type:"string" required:"true"` + + // A Union object containing filter shapes for all EntityTypes. Each EntityTypeFilter + // shape will have filters applicable for that EntityType that can be used to + // search or filter entities. + EntityTypeFilters *EntityTypeFilters `type:"structure"` + + // A Union object containing Sort shapes for all EntityTypes. 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. + EntityTypeSort *EntityTypeSort `type:"structure"` + + // An array of filter objects. Each filter object contains two attributes, filterName + // and filterValues. + FilterList []*Filter `min:"1" type:"list"` + + // Specifies the upper limit of the elements on a single page. If a value isn't + // provided, the default value is 20. + MaxResults *int64 `min:"1" type:"integer"` + + // The value of the next token, if it exists. Null if there are no more results. + NextToken *string `min:"1" type:"string"` + + // 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. + OwnershipType *string `type:"string" enum:"OwnershipType"` + + // An object that contains two attributes, SortBy and SortOrder. + Sort *Sort `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEntitiesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEntitiesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEntitiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEntitiesInput"} + if s.Catalog == nil { + invalidParams.Add(request.NewErrParamRequired("Catalog")) + } + if s.Catalog != nil && len(*s.Catalog) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) + } + if s.EntityType == nil { + invalidParams.Add(request.NewErrParamRequired("EntityType")) + } + if s.EntityType != nil && len(*s.EntityType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityType", 1)) + } + if s.FilterList != nil && len(s.FilterList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FilterList", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.EntityTypeFilters != nil { + if err := s.EntityTypeFilters.Validate(); err != nil { + invalidParams.AddNested("EntityTypeFilters", err.(request.ErrInvalidParams)) + } + } + if s.FilterList != nil { + for i, v := range s.FilterList { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FilterList", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Sort != nil { + if err := s.Sort.Validate(); err != nil { + invalidParams.AddNested("Sort", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalog sets the Catalog field's value. +func (s *ListEntitiesInput) SetCatalog(v string) *ListEntitiesInput { + s.Catalog = &v + return s +} + +// SetEntityType sets the EntityType field's value. +func (s *ListEntitiesInput) SetEntityType(v string) *ListEntitiesInput { + s.EntityType = &v + return s +} + +// SetEntityTypeFilters sets the EntityTypeFilters field's value. +func (s *ListEntitiesInput) SetEntityTypeFilters(v *EntityTypeFilters) *ListEntitiesInput { + s.EntityTypeFilters = v + return s +} + +// SetEntityTypeSort sets the EntityTypeSort field's value. +func (s *ListEntitiesInput) SetEntityTypeSort(v *EntityTypeSort) *ListEntitiesInput { + s.EntityTypeSort = v + return s +} + +// SetFilterList sets the FilterList field's value. +func (s *ListEntitiesInput) SetFilterList(v []*Filter) *ListEntitiesInput { + s.FilterList = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEntitiesInput) SetMaxResults(v int64) *ListEntitiesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEntitiesInput) SetNextToken(v string) *ListEntitiesInput { + s.NextToken = &v + return s +} + +// SetOwnershipType sets the OwnershipType field's value. +func (s *ListEntitiesInput) SetOwnershipType(v string) *ListEntitiesInput { + s.OwnershipType = &v + return s +} + +// SetSort sets the Sort field's value. +func (s *ListEntitiesInput) SetSort(v *Sort) *ListEntitiesInput { + s.Sort = v + return s +} + +type ListEntitiesOutput struct { + _ struct{} `type:"structure"` + + // Array of EntitySummary objects. + EntitySummaryList []*EntitySummary `type:"list"` + + // The value of the next token if it exists. Null if there is no more result. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEntitiesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListEntitiesOutput) GoString() string { + return s.String() +} + +// SetEntitySummaryList sets the EntitySummaryList field's value. +func (s *ListEntitiesOutput) SetEntitySummaryList(v []*EntitySummary) *ListEntitiesOutput { + s.EntitySummaryList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEntitiesOutput) SetNextToken(v string) *ListEntitiesOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // Required. The Amazon Resource Name (ARN) associated with the resource you + // want to list tags on. + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // Required. The ARN associated with the resource you want to list tags on. + ResourceArn *string `min:"1" type:"string"` + + // Required. A list of objects specifying each key name and value. Number of + // objects allowed: 1-50. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceOutput) SetResourceArn(v string) *ListTagsForResourceOutput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +// Allows filtering on the AvailabilityEndDate of an offer. +type OfferAvailabilityEndDateFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the AvailabilityEndDate of an offer with date range as + // input. + DateRange *OfferAvailabilityEndDateFilterDateRange `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferAvailabilityEndDateFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferAvailabilityEndDateFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferAvailabilityEndDateFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferAvailabilityEndDateFilter"} + if s.DateRange != nil { + if err := s.DateRange.Validate(); err != nil { + invalidParams.AddNested("DateRange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDateRange sets the DateRange field's value. +func (s *OfferAvailabilityEndDateFilter) SetDateRange(v *OfferAvailabilityEndDateFilterDateRange) *OfferAvailabilityEndDateFilter { + s.DateRange = v + return s +} + +// Allows filtering on the AvailabilityEndDate of an offer with date range as +// input. +type OfferAvailabilityEndDateFilterDateRange struct { + _ struct{} `type:"structure"` + + // Allows filtering on the AvailabilityEndDate of an offer after a date. + AfterValue *string `min:"20" type:"string"` + + // Allows filtering on the AvailabilityEndDate of an offer before a date. + BeforeValue *string `min:"20" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferAvailabilityEndDateFilterDateRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferAvailabilityEndDateFilterDateRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferAvailabilityEndDateFilterDateRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferAvailabilityEndDateFilterDateRange"} + if s.AfterValue != nil && len(*s.AfterValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AfterValue", 20)) + } + if s.BeforeValue != nil && len(*s.BeforeValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BeforeValue", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAfterValue sets the AfterValue field's value. +func (s *OfferAvailabilityEndDateFilterDateRange) SetAfterValue(v string) *OfferAvailabilityEndDateFilterDateRange { + s.AfterValue = &v + return s +} + +// SetBeforeValue sets the BeforeValue field's value. +func (s *OfferAvailabilityEndDateFilterDateRange) SetBeforeValue(v string) *OfferAvailabilityEndDateFilterDateRange { + s.BeforeValue = &v + return s +} + +// Allows filtering on the BuyerAccounts of an offer. +type OfferBuyerAccountsFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the BuyerAccounts of an offer with wild card input. + WildCardValue *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferBuyerAccountsFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferBuyerAccountsFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferBuyerAccountsFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferBuyerAccountsFilter"} + if s.WildCardValue != nil && len(*s.WildCardValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWildCardValue sets the WildCardValue field's value. +func (s *OfferBuyerAccountsFilter) SetWildCardValue(v string) *OfferBuyerAccountsFilter { + s.WildCardValue = &v + return s +} + +// Allows filtering on the entity id of an offer. +type OfferEntityIdFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on entity id of an offer with list input. + ValueList []*string `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferEntityIdFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferEntityIdFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferEntityIdFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferEntityIdFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *OfferEntityIdFilter) SetValueList(v []*string) *OfferEntityIdFilter { + s.ValueList = v + return s +} + +// A filter for offers entity. +type OfferFilters struct { + _ struct{} `type:"structure"` + + // Allows filtering on the AvailabilityEndDate of an offer. + AvailabilityEndDate *OfferAvailabilityEndDateFilter `type:"structure"` + + // Allows filtering on the BuyerAccounts of an offer. + BuyerAccounts *OfferBuyerAccountsFilter `type:"structure"` + + // Allows filtering on EntityId of an offer. + EntityId *OfferEntityIdFilter `type:"structure"` + + // Allows filtering on the LastModifiedDate of an offer. + LastModifiedDate *OfferLastModifiedDateFilter `type:"structure"` + + // Allows filtering on the Name of an offer. + Name *OfferNameFilter `type:"structure"` + + // Allows filtering on the ProductId of an offer. + ProductId *OfferProductIdFilter `type:"structure"` + + // Allows filtering on the ReleaseDate of an offer. + ReleaseDate *OfferReleaseDateFilter `type:"structure"` + + // Allows filtering on the State of an offer. + State *OfferStateFilter `type:"structure"` + + // Allows filtering on the Targeting of an offer. + Targeting *OfferTargetingFilter `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferFilters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferFilters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferFilters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferFilters"} + if s.AvailabilityEndDate != nil { + if err := s.AvailabilityEndDate.Validate(); err != nil { + invalidParams.AddNested("AvailabilityEndDate", err.(request.ErrInvalidParams)) + } + } + if s.BuyerAccounts != nil { + if err := s.BuyerAccounts.Validate(); err != nil { + invalidParams.AddNested("BuyerAccounts", err.(request.ErrInvalidParams)) + } + } + if s.EntityId != nil { + if err := s.EntityId.Validate(); err != nil { + invalidParams.AddNested("EntityId", err.(request.ErrInvalidParams)) + } + } + if s.LastModifiedDate != nil { + if err := s.LastModifiedDate.Validate(); err != nil { + invalidParams.AddNested("LastModifiedDate", err.(request.ErrInvalidParams)) + } + } + if s.Name != nil { + if err := s.Name.Validate(); err != nil { + invalidParams.AddNested("Name", err.(request.ErrInvalidParams)) + } + } + if s.ProductId != nil { + if err := s.ProductId.Validate(); err != nil { + invalidParams.AddNested("ProductId", err.(request.ErrInvalidParams)) + } + } + if s.ReleaseDate != nil { + if err := s.ReleaseDate.Validate(); err != nil { + invalidParams.AddNested("ReleaseDate", err.(request.ErrInvalidParams)) + } + } + if s.State != nil { + if err := s.State.Validate(); err != nil { + invalidParams.AddNested("State", err.(request.ErrInvalidParams)) + } + } + if s.Targeting != nil { + if err := s.Targeting.Validate(); err != nil { + invalidParams.AddNested("Targeting", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityEndDate sets the AvailabilityEndDate field's value. +func (s *OfferFilters) SetAvailabilityEndDate(v *OfferAvailabilityEndDateFilter) *OfferFilters { + s.AvailabilityEndDate = v + return s +} + +// SetBuyerAccounts sets the BuyerAccounts field's value. +func (s *OfferFilters) SetBuyerAccounts(v *OfferBuyerAccountsFilter) *OfferFilters { + s.BuyerAccounts = v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *OfferFilters) SetEntityId(v *OfferEntityIdFilter) *OfferFilters { + s.EntityId = v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *OfferFilters) SetLastModifiedDate(v *OfferLastModifiedDateFilter) *OfferFilters { + s.LastModifiedDate = v + return s +} + +// SetName sets the Name field's value. +func (s *OfferFilters) SetName(v *OfferNameFilter) *OfferFilters { + s.Name = v + return s +} + +// SetProductId sets the ProductId field's value. +func (s *OfferFilters) SetProductId(v *OfferProductIdFilter) *OfferFilters { + s.ProductId = v + return s +} + +// SetReleaseDate sets the ReleaseDate field's value. +func (s *OfferFilters) SetReleaseDate(v *OfferReleaseDateFilter) *OfferFilters { + s.ReleaseDate = v + return s +} + +// SetState sets the State field's value. +func (s *OfferFilters) SetState(v *OfferStateFilter) *OfferFilters { + s.State = v + return s +} + +// SetTargeting sets the Targeting field's value. +func (s *OfferFilters) SetTargeting(v *OfferTargetingFilter) *OfferFilters { + s.Targeting = v + return s +} + +// Allows filtering on the LastModifiedDate of an offer. +type OfferLastModifiedDateFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the LastModifiedDate of an offer with date range as input. + DateRange *OfferLastModifiedDateFilterDateRange `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferLastModifiedDateFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferLastModifiedDateFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferLastModifiedDateFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferLastModifiedDateFilter"} + if s.DateRange != nil { + if err := s.DateRange.Validate(); err != nil { + invalidParams.AddNested("DateRange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDateRange sets the DateRange field's value. +func (s *OfferLastModifiedDateFilter) SetDateRange(v *OfferLastModifiedDateFilterDateRange) *OfferLastModifiedDateFilter { + s.DateRange = v + return s +} + +// Allows filtering on the LastModifiedDate of an offer with date range as input. +type OfferLastModifiedDateFilterDateRange struct { + _ struct{} `type:"structure"` + + // Allows filtering on the LastModifiedDate of an offer after a date. + AfterValue *string `min:"20" type:"string"` + + // Allows filtering on the LastModifiedDate of an offer before a date. + BeforeValue *string `min:"20" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferLastModifiedDateFilterDateRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferLastModifiedDateFilterDateRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferLastModifiedDateFilterDateRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferLastModifiedDateFilterDateRange"} + if s.AfterValue != nil && len(*s.AfterValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AfterValue", 20)) + } + if s.BeforeValue != nil && len(*s.BeforeValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BeforeValue", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAfterValue sets the AfterValue field's value. +func (s *OfferLastModifiedDateFilterDateRange) SetAfterValue(v string) *OfferLastModifiedDateFilterDateRange { + s.AfterValue = &v + return s +} + +// SetBeforeValue sets the BeforeValue field's value. +func (s *OfferLastModifiedDateFilterDateRange) SetBeforeValue(v string) *OfferLastModifiedDateFilterDateRange { + s.BeforeValue = &v + return s +} + +// Allows filtering on the Name of an offer. +type OfferNameFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the Name of an offer with list input. + ValueList []*string `min:"1" type:"list"` + + // Allows filtering on the Name of an offer with wild card input. + WildCardValue *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferNameFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferNameFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferNameFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferNameFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.WildCardValue != nil && len(*s.WildCardValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *OfferNameFilter) SetValueList(v []*string) *OfferNameFilter { + s.ValueList = v + return s +} + +// SetWildCardValue sets the WildCardValue field's value. +func (s *OfferNameFilter) SetWildCardValue(v string) *OfferNameFilter { + s.WildCardValue = &v + return s +} + +// Allows filtering on the ProductId of an offer. +type OfferProductIdFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the ProductId of an offer with list input. + ValueList []*string `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferProductIdFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferProductIdFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferProductIdFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferProductIdFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *OfferProductIdFilter) SetValueList(v []*string) *OfferProductIdFilter { + s.ValueList = v + return s +} + +// Allows filtering on the ReleaseDate of an offer. +type OfferReleaseDateFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the ReleaseDate of an offer with date range as input. + DateRange *OfferReleaseDateFilterDateRange `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferReleaseDateFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferReleaseDateFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferReleaseDateFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferReleaseDateFilter"} + if s.DateRange != nil { + if err := s.DateRange.Validate(); err != nil { + invalidParams.AddNested("DateRange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDateRange sets the DateRange field's value. +func (s *OfferReleaseDateFilter) SetDateRange(v *OfferReleaseDateFilterDateRange) *OfferReleaseDateFilter { + s.DateRange = v + return s +} + +// Allows filtering on the ReleaseDate of an offer with date range as input. +type OfferReleaseDateFilterDateRange struct { + _ struct{} `type:"structure"` + + // Allows filtering on the ReleaseDate of offers after a date. + AfterValue *string `min:"20" type:"string"` + + // Allows filtering on the ReleaseDate of offers before a date. + BeforeValue *string `min:"20" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferReleaseDateFilterDateRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferReleaseDateFilterDateRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferReleaseDateFilterDateRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferReleaseDateFilterDateRange"} + if s.AfterValue != nil && len(*s.AfterValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AfterValue", 20)) + } + if s.BeforeValue != nil && len(*s.BeforeValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BeforeValue", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAfterValue sets the AfterValue field's value. +func (s *OfferReleaseDateFilterDateRange) SetAfterValue(v string) *OfferReleaseDateFilterDateRange { + s.AfterValue = &v + return s +} + +// SetBeforeValue sets the BeforeValue field's value. +func (s *OfferReleaseDateFilterDateRange) SetBeforeValue(v string) *OfferReleaseDateFilterDateRange { + s.BeforeValue = &v + return s +} + +// Allows to sort offers. +type OfferSort struct { + _ struct{} `type:"structure"` + + // Allows to sort offers. + SortBy *string `type:"string" enum:"OfferSortBy"` + + // Allows to sort offers. + SortOrder *string `type:"string" enum:"SortOrder"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferSort) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferSort) GoString() string { + return s.String() +} + +// SetSortBy sets the SortBy field's value. +func (s *OfferSort) SetSortBy(v string) *OfferSort { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *OfferSort) SetSortOrder(v string) *OfferSort { + s.SortOrder = &v + return s +} + +// Allows filtering on the State of an offer. +type OfferStateFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the State of an offer with list input. + ValueList []*string `min:"1" type:"list" enum:"OfferStateString"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferStateFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferStateFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferStateFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferStateFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *OfferStateFilter) SetValueList(v []*string) *OfferStateFilter { + s.ValueList = v + return s +} + +// Summarized information about an offer. +type OfferSummary struct { + _ struct{} `type:"structure"` + + // The availability end date of the offer. + AvailabilityEndDate *string `min:"20" type:"string"` + + // The buyer accounts in the offer. + BuyerAccounts []*string `type:"list"` + + // The name of the offer. + Name *string `min:"1" type:"string"` + + // The product ID of the offer. + ProductId *string `min:"1" type:"string"` + + // The release date of the offer. + ReleaseDate *string `min:"20" type:"string"` + + // The status of the offer. + State *string `type:"string" enum:"OfferStateString"` + + // The targeting in the offer. + Targeting []*string `type:"list" enum:"OfferTargetingString"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferSummary) GoString() string { + return s.String() +} + +// SetAvailabilityEndDate sets the AvailabilityEndDate field's value. +func (s *OfferSummary) SetAvailabilityEndDate(v string) *OfferSummary { + s.AvailabilityEndDate = &v + return s +} + +// SetBuyerAccounts sets the BuyerAccounts field's value. +func (s *OfferSummary) SetBuyerAccounts(v []*string) *OfferSummary { + s.BuyerAccounts = v + return s +} + +// SetName sets the Name field's value. +func (s *OfferSummary) SetName(v string) *OfferSummary { + s.Name = &v + return s +} + +// SetProductId sets the ProductId field's value. +func (s *OfferSummary) SetProductId(v string) *OfferSummary { + s.ProductId = &v + return s +} + +// SetReleaseDate sets the ReleaseDate field's value. +func (s *OfferSummary) SetReleaseDate(v string) *OfferSummary { + s.ReleaseDate = &v + return s +} + +// SetState sets the State field's value. +func (s *OfferSummary) SetState(v string) *OfferSummary { + s.State = &v + return s +} + +// SetTargeting sets the Targeting field's value. +func (s *OfferSummary) SetTargeting(v []*string) *OfferSummary { + s.Targeting = v + return s +} + +// Allows filtering on the Targeting of an offer. +type OfferTargetingFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the Targeting of an offer with list input. + ValueList []*string `min:"1" type:"list" enum:"OfferTargetingString"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferTargetingFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OfferTargetingFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OfferTargetingFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OfferTargetingFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *OfferTargetingFilter) SetValueList(v []*string) *OfferTargetingFilter { + s.ValueList = v + return s +} + +type PutResourcePolicyInput struct { + _ struct{} `type:"structure"` + + // The policy document to set; formatted in JSON. + // + // Policy is a required field + Policy *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the entity resource you want to associate + // with a resource policy. + // + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutResourcePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutResourcePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutResourcePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"} + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPolicy sets the Policy field's value. +func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput { + s.Policy = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput { + s.ResourceArn = &v + return s +} + +type PutResourcePolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutResourcePolicyOutput) GoString() string { + return s.String() +} + +// Allows filtering on AvailabilityEndDate of a ResaleAuthorization. +type ResaleAuthorizationAvailabilityEndDateFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on AvailabilityEndDate of a ResaleAuthorization with date + // range as input + DateRange *ResaleAuthorizationAvailabilityEndDateFilterDateRange `type:"structure"` + + // Allows filtering on AvailabilityEndDate of a ResaleAuthorization with date + // value as input. + ValueList []*string `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationAvailabilityEndDateFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationAvailabilityEndDateFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationAvailabilityEndDateFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationAvailabilityEndDateFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.DateRange != nil { + if err := s.DateRange.Validate(); err != nil { + invalidParams.AddNested("DateRange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDateRange sets the DateRange field's value. +func (s *ResaleAuthorizationAvailabilityEndDateFilter) SetDateRange(v *ResaleAuthorizationAvailabilityEndDateFilterDateRange) *ResaleAuthorizationAvailabilityEndDateFilter { + s.DateRange = v + return s +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationAvailabilityEndDateFilter) SetValueList(v []*string) *ResaleAuthorizationAvailabilityEndDateFilter { + s.ValueList = v + return s +} + +// Allows filtering on AvailabilityEndDate of a ResaleAuthorization with date +// range as input. +type ResaleAuthorizationAvailabilityEndDateFilterDateRange struct { + _ struct{} `type:"structure"` + + // Allows filtering on AvailabilityEndDate of a ResaleAuthorization after a + // date. + AfterValue *string `min:"20" type:"string"` + + // Allows filtering on AvailabilityEndDate of a ResaleAuthorization before a + // date. + BeforeValue *string `min:"20" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationAvailabilityEndDateFilterDateRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationAvailabilityEndDateFilterDateRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationAvailabilityEndDateFilterDateRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationAvailabilityEndDateFilterDateRange"} + if s.AfterValue != nil && len(*s.AfterValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AfterValue", 20)) + } + if s.BeforeValue != nil && len(*s.BeforeValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BeforeValue", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAfterValue sets the AfterValue field's value. +func (s *ResaleAuthorizationAvailabilityEndDateFilterDateRange) SetAfterValue(v string) *ResaleAuthorizationAvailabilityEndDateFilterDateRange { + s.AfterValue = &v + return s +} + +// SetBeforeValue sets the BeforeValue field's value. +func (s *ResaleAuthorizationAvailabilityEndDateFilterDateRange) SetBeforeValue(v string) *ResaleAuthorizationAvailabilityEndDateFilterDateRange { + s.BeforeValue = &v + return s +} + +// Allows filtering on CreatedDate of a ResaleAuthorization. +type ResaleAuthorizationCreatedDateFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on CreatedDate of a ResaleAuthorization with date range + // as input. + DateRange *ResaleAuthorizationCreatedDateFilterDateRange `type:"structure"` + + // Allows filtering on CreatedDate of a ResaleAuthorization with date value + // as input. + ValueList []*string `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationCreatedDateFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationCreatedDateFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationCreatedDateFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationCreatedDateFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.DateRange != nil { + if err := s.DateRange.Validate(); err != nil { + invalidParams.AddNested("DateRange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDateRange sets the DateRange field's value. +func (s *ResaleAuthorizationCreatedDateFilter) SetDateRange(v *ResaleAuthorizationCreatedDateFilterDateRange) *ResaleAuthorizationCreatedDateFilter { + s.DateRange = v + return s +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationCreatedDateFilter) SetValueList(v []*string) *ResaleAuthorizationCreatedDateFilter { + s.ValueList = v + return s +} + +// Allows filtering on CreatedDate of a ResaleAuthorization with date range +// as input. +type ResaleAuthorizationCreatedDateFilterDateRange struct { + _ struct{} `type:"structure"` + + // Allows filtering on CreatedDate of a ResaleAuthorization after a date. + AfterValue *string `min:"20" type:"string"` + + // Allows filtering on CreatedDate of a ResaleAuthorization before a date. + BeforeValue *string `min:"20" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationCreatedDateFilterDateRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationCreatedDateFilterDateRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationCreatedDateFilterDateRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationCreatedDateFilterDateRange"} + if s.AfterValue != nil && len(*s.AfterValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AfterValue", 20)) + } + if s.BeforeValue != nil && len(*s.BeforeValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BeforeValue", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAfterValue sets the AfterValue field's value. +func (s *ResaleAuthorizationCreatedDateFilterDateRange) SetAfterValue(v string) *ResaleAuthorizationCreatedDateFilterDateRange { + s.AfterValue = &v + return s +} + +// SetBeforeValue sets the BeforeValue field's value. +func (s *ResaleAuthorizationCreatedDateFilterDateRange) SetBeforeValue(v string) *ResaleAuthorizationCreatedDateFilterDateRange { + s.BeforeValue = &v + return s +} + +// Allows filtering on EntityId of a ResaleAuthorization. +type ResaleAuthorizationEntityIdFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on EntityId of a ResaleAuthorization with list input. + ValueList []*string `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationEntityIdFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationEntityIdFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationEntityIdFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationEntityIdFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationEntityIdFilter) SetValueList(v []*string) *ResaleAuthorizationEntityIdFilter { + s.ValueList = v + return s +} + +// A filter for ResaleAuthorization entity. +type ResaleAuthorizationFilters struct { + _ struct{} `type:"structure"` + + // Allows filtering on the AvailabilityEndDate of a ResaleAuthorization. + AvailabilityEndDate *ResaleAuthorizationAvailabilityEndDateFilter `type:"structure"` + + // Allows filtering on the CreatedDate of a ResaleAuthorization. + CreatedDate *ResaleAuthorizationCreatedDateFilter `type:"structure"` + + // Allows filtering on the EntityId of a ResaleAuthorization. + EntityId *ResaleAuthorizationEntityIdFilter `type:"structure"` + + // Allows filtering on the LastModifiedDate of a ResaleAuthorization. + LastModifiedDate *ResaleAuthorizationLastModifiedDateFilter `type:"structure"` + + // Allows filtering on the ManufacturerAccountId of a ResaleAuthorization. + ManufacturerAccountId *ResaleAuthorizationManufacturerAccountIdFilter `type:"structure"` + + // Allows filtering on the ManufacturerLegalName of a ResaleAuthorization. + ManufacturerLegalName *ResaleAuthorizationManufacturerLegalNameFilter `type:"structure"` + + // Allows filtering on the Name of a ResaleAuthorization. + Name *ResaleAuthorizationNameFilter `type:"structure"` + + // Allows filtering on the OfferExtendedStatus of a ResaleAuthorization. + OfferExtendedStatus *ResaleAuthorizationOfferExtendedStatusFilter `type:"structure"` + + // Allows filtering on the ProductId of a ResaleAuthorization. + ProductId *ResaleAuthorizationProductIdFilter `type:"structure"` + + // Allows filtering on the ProductName of a ResaleAuthorization. + ProductName *ResaleAuthorizationProductNameFilter `type:"structure"` + + // Allows filtering on the ResellerAccountID of a ResaleAuthorization. + ResellerAccountID *ResaleAuthorizationResellerAccountIDFilter `type:"structure"` + + // Allows filtering on the ResellerLegalName of a ResaleAuthorization. + ResellerLegalName *ResaleAuthorizationResellerLegalNameFilter `type:"structure"` + + // Allows filtering on the Status of a ResaleAuthorization. + Status *ResaleAuthorizationStatusFilter `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationFilters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationFilters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationFilters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationFilters"} + if s.AvailabilityEndDate != nil { + if err := s.AvailabilityEndDate.Validate(); err != nil { + invalidParams.AddNested("AvailabilityEndDate", err.(request.ErrInvalidParams)) + } + } + if s.CreatedDate != nil { + if err := s.CreatedDate.Validate(); err != nil { + invalidParams.AddNested("CreatedDate", err.(request.ErrInvalidParams)) + } + } + if s.EntityId != nil { + if err := s.EntityId.Validate(); err != nil { + invalidParams.AddNested("EntityId", err.(request.ErrInvalidParams)) + } + } + if s.LastModifiedDate != nil { + if err := s.LastModifiedDate.Validate(); err != nil { + invalidParams.AddNested("LastModifiedDate", err.(request.ErrInvalidParams)) + } + } + if s.ManufacturerAccountId != nil { + if err := s.ManufacturerAccountId.Validate(); err != nil { + invalidParams.AddNested("ManufacturerAccountId", err.(request.ErrInvalidParams)) + } + } + if s.ManufacturerLegalName != nil { + if err := s.ManufacturerLegalName.Validate(); err != nil { + invalidParams.AddNested("ManufacturerLegalName", err.(request.ErrInvalidParams)) + } + } + if s.Name != nil { + if err := s.Name.Validate(); err != nil { + invalidParams.AddNested("Name", err.(request.ErrInvalidParams)) + } + } + if s.OfferExtendedStatus != nil { + if err := s.OfferExtendedStatus.Validate(); err != nil { + invalidParams.AddNested("OfferExtendedStatus", err.(request.ErrInvalidParams)) + } + } + if s.ProductId != nil { + if err := s.ProductId.Validate(); err != nil { + invalidParams.AddNested("ProductId", err.(request.ErrInvalidParams)) + } + } + if s.ProductName != nil { + if err := s.ProductName.Validate(); err != nil { + invalidParams.AddNested("ProductName", err.(request.ErrInvalidParams)) + } + } + if s.ResellerAccountID != nil { + if err := s.ResellerAccountID.Validate(); err != nil { + invalidParams.AddNested("ResellerAccountID", err.(request.ErrInvalidParams)) + } + } + if s.ResellerLegalName != nil { + if err := s.ResellerLegalName.Validate(); err != nil { + invalidParams.AddNested("ResellerLegalName", err.(request.ErrInvalidParams)) + } + } + if s.Status != nil { + if err := s.Status.Validate(); err != nil { + invalidParams.AddNested("Status", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityEndDate sets the AvailabilityEndDate field's value. +func (s *ResaleAuthorizationFilters) SetAvailabilityEndDate(v *ResaleAuthorizationAvailabilityEndDateFilter) *ResaleAuthorizationFilters { + s.AvailabilityEndDate = v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *ResaleAuthorizationFilters) SetCreatedDate(v *ResaleAuthorizationCreatedDateFilter) *ResaleAuthorizationFilters { + s.CreatedDate = v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *ResaleAuthorizationFilters) SetEntityId(v *ResaleAuthorizationEntityIdFilter) *ResaleAuthorizationFilters { + s.EntityId = v + return s +} + +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *ResaleAuthorizationFilters) SetLastModifiedDate(v *ResaleAuthorizationLastModifiedDateFilter) *ResaleAuthorizationFilters { + s.LastModifiedDate = v + return s +} + +// SetManufacturerAccountId sets the ManufacturerAccountId field's value. +func (s *ResaleAuthorizationFilters) SetManufacturerAccountId(v *ResaleAuthorizationManufacturerAccountIdFilter) *ResaleAuthorizationFilters { + s.ManufacturerAccountId = v + return s +} + +// SetManufacturerLegalName sets the ManufacturerLegalName field's value. +func (s *ResaleAuthorizationFilters) SetManufacturerLegalName(v *ResaleAuthorizationManufacturerLegalNameFilter) *ResaleAuthorizationFilters { + s.ManufacturerLegalName = v + return s +} + +// SetName sets the Name field's value. +func (s *ResaleAuthorizationFilters) SetName(v *ResaleAuthorizationNameFilter) *ResaleAuthorizationFilters { + s.Name = v + return s +} + +// SetOfferExtendedStatus sets the OfferExtendedStatus field's value. +func (s *ResaleAuthorizationFilters) SetOfferExtendedStatus(v *ResaleAuthorizationOfferExtendedStatusFilter) *ResaleAuthorizationFilters { + s.OfferExtendedStatus = v + return s +} + +// SetProductId sets the ProductId field's value. +func (s *ResaleAuthorizationFilters) SetProductId(v *ResaleAuthorizationProductIdFilter) *ResaleAuthorizationFilters { + s.ProductId = v + return s +} + +// SetProductName sets the ProductName field's value. +func (s *ResaleAuthorizationFilters) SetProductName(v *ResaleAuthorizationProductNameFilter) *ResaleAuthorizationFilters { + s.ProductName = v + return s +} + +// SetResellerAccountID sets the ResellerAccountID field's value. +func (s *ResaleAuthorizationFilters) SetResellerAccountID(v *ResaleAuthorizationResellerAccountIDFilter) *ResaleAuthorizationFilters { + s.ResellerAccountID = v + return s +} + +// SetResellerLegalName sets the ResellerLegalName field's value. +func (s *ResaleAuthorizationFilters) SetResellerLegalName(v *ResaleAuthorizationResellerLegalNameFilter) *ResaleAuthorizationFilters { + s.ResellerLegalName = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResaleAuthorizationFilters) SetStatus(v *ResaleAuthorizationStatusFilter) *ResaleAuthorizationFilters { + s.Status = v + return s +} + +// Allows filtering on the LastModifiedDate of a ResaleAuthorization. +type ResaleAuthorizationLastModifiedDateFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the LastModifiedDate of a ResaleAuthorization with date + // range as input. + DateRange *ResaleAuthorizationLastModifiedDateFilterDateRange `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationLastModifiedDateFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationLastModifiedDateFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationLastModifiedDateFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationLastModifiedDateFilter"} + if s.DateRange != nil { + if err := s.DateRange.Validate(); err != nil { + invalidParams.AddNested("DateRange", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDateRange sets the DateRange field's value. +func (s *ResaleAuthorizationLastModifiedDateFilter) SetDateRange(v *ResaleAuthorizationLastModifiedDateFilterDateRange) *ResaleAuthorizationLastModifiedDateFilter { + s.DateRange = v + return s +} + +// Allows filtering on the LastModifiedDate of a ResaleAuthorization with date +// range as input. +type ResaleAuthorizationLastModifiedDateFilterDateRange struct { + _ struct{} `type:"structure"` + + // Allows filtering on the LastModifiedDate of a ResaleAuthorization after a + // date. + AfterValue *string `min:"20" type:"string"` + + // Allows filtering on the LastModifiedDate of a ResaleAuthorization before + // a date. + BeforeValue *string `min:"20" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationLastModifiedDateFilterDateRange) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationLastModifiedDateFilterDateRange) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationLastModifiedDateFilterDateRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationLastModifiedDateFilterDateRange"} + if s.AfterValue != nil && len(*s.AfterValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AfterValue", 20)) + } + if s.BeforeValue != nil && len(*s.BeforeValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BeforeValue", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAfterValue sets the AfterValue field's value. +func (s *ResaleAuthorizationLastModifiedDateFilterDateRange) SetAfterValue(v string) *ResaleAuthorizationLastModifiedDateFilterDateRange { + s.AfterValue = &v + return s +} + +// SetBeforeValue sets the BeforeValue field's value. +func (s *ResaleAuthorizationLastModifiedDateFilterDateRange) SetBeforeValue(v string) *ResaleAuthorizationLastModifiedDateFilterDateRange { + s.BeforeValue = &v + return s +} + +// Allows filtering on the ManufacturerAccountId of a ResaleAuthorization. +type ResaleAuthorizationManufacturerAccountIdFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the ManufacturerAccountId of a ResaleAuthorization with + // list input. + ValueList []*string `min:"1" type:"list"` + + // Allows filtering on the ManufacturerAccountId of a ResaleAuthorization with + // wild card input. + WildCardValue *string `min:"12" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationManufacturerAccountIdFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationManufacturerAccountIdFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationManufacturerAccountIdFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationManufacturerAccountIdFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.WildCardValue != nil && len(*s.WildCardValue) < 12 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationManufacturerAccountIdFilter) SetValueList(v []*string) *ResaleAuthorizationManufacturerAccountIdFilter { + s.ValueList = v + return s +} + +// SetWildCardValue sets the WildCardValue field's value. +func (s *ResaleAuthorizationManufacturerAccountIdFilter) SetWildCardValue(v string) *ResaleAuthorizationManufacturerAccountIdFilter { + s.WildCardValue = &v + return s +} + +// Allows filtering on the ManufacturerLegalName of a ResaleAuthorization. +type ResaleAuthorizationManufacturerLegalNameFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the ManufacturerLegalName of a ResaleAuthorization with + // list input. + ValueList []*string `min:"1" type:"list"` + + // Allows filtering on the ManufacturerLegalName of a ResaleAuthorization with + // wild card input. + WildCardValue *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationManufacturerLegalNameFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationManufacturerLegalNameFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationManufacturerLegalNameFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationManufacturerLegalNameFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.WildCardValue != nil && len(*s.WildCardValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationManufacturerLegalNameFilter) SetValueList(v []*string) *ResaleAuthorizationManufacturerLegalNameFilter { + s.ValueList = v + return s +} + +// SetWildCardValue sets the WildCardValue field's value. +func (s *ResaleAuthorizationManufacturerLegalNameFilter) SetWildCardValue(v string) *ResaleAuthorizationManufacturerLegalNameFilter { + s.WildCardValue = &v + return s +} + +// Allows filtering on the Name of a ResaleAuthorization. +type ResaleAuthorizationNameFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the Name of a ResaleAuthorization with list input. + ValueList []*string `min:"1" type:"list"` + + // Allows filtering on the Name of a ResaleAuthorization with wild card input. + WildCardValue *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationNameFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationNameFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationNameFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationNameFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.WildCardValue != nil && len(*s.WildCardValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationNameFilter) SetValueList(v []*string) *ResaleAuthorizationNameFilter { + s.ValueList = v + return s +} + +// SetWildCardValue sets the WildCardValue field's value. +func (s *ResaleAuthorizationNameFilter) SetWildCardValue(v string) *ResaleAuthorizationNameFilter { + s.WildCardValue = &v + return s +} + +// Allows filtering on the OfferExtendedStatus of a ResaleAuthorization. +type ResaleAuthorizationOfferExtendedStatusFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the OfferExtendedStatus of a ResaleAuthorization with + // list input. + ValueList []*string `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationOfferExtendedStatusFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationOfferExtendedStatusFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationOfferExtendedStatusFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationOfferExtendedStatusFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationOfferExtendedStatusFilter) SetValueList(v []*string) *ResaleAuthorizationOfferExtendedStatusFilter { + s.ValueList = v + return s +} + +// Allows filtering on the ProductId of a ResaleAuthorization. +type ResaleAuthorizationProductIdFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the ProductId of a ResaleAuthorization with list input. + ValueList []*string `min:"1" type:"list"` + + // Allows filtering on the ProductId of a ResaleAuthorization with wild card + // input. + WildCardValue *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationProductIdFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationProductIdFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationProductIdFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationProductIdFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.WildCardValue != nil && len(*s.WildCardValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationProductIdFilter) SetValueList(v []*string) *ResaleAuthorizationProductIdFilter { + s.ValueList = v + return s +} + +// SetWildCardValue sets the WildCardValue field's value. +func (s *ResaleAuthorizationProductIdFilter) SetWildCardValue(v string) *ResaleAuthorizationProductIdFilter { + s.WildCardValue = &v + return s +} + +// Allows filtering on the ProductName of a ResaleAuthorization. +type ResaleAuthorizationProductNameFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the ProductName of a ResaleAuthorization with list input. + ValueList []*string `min:"1" type:"list"` + + // Allows filtering on the ProductName of a ResaleAuthorization with wild card + // input. + WildCardValue *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationProductNameFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationProductNameFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationProductNameFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationProductNameFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.WildCardValue != nil && len(*s.WildCardValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationProductNameFilter) SetValueList(v []*string) *ResaleAuthorizationProductNameFilter { + s.ValueList = v + return s +} + +// SetWildCardValue sets the WildCardValue field's value. +func (s *ResaleAuthorizationProductNameFilter) SetWildCardValue(v string) *ResaleAuthorizationProductNameFilter { + s.WildCardValue = &v + return s +} + +// Allows filtering on the ResellerAccountID of a ResaleAuthorization. +type ResaleAuthorizationResellerAccountIDFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the ResellerAccountID of a ResaleAuthorization with list + // input. + ValueList []*string `min:"1" type:"list"` + + // Allows filtering on the ResellerAccountID of a ResaleAuthorization with wild + // card input. + WildCardValue *string `min:"12" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationResellerAccountIDFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationResellerAccountIDFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationResellerAccountIDFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationResellerAccountIDFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.WildCardValue != nil && len(*s.WildCardValue) < 12 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationResellerAccountIDFilter) SetValueList(v []*string) *ResaleAuthorizationResellerAccountIDFilter { + s.ValueList = v + return s +} + +// SetWildCardValue sets the WildCardValue field's value. +func (s *ResaleAuthorizationResellerAccountIDFilter) SetWildCardValue(v string) *ResaleAuthorizationResellerAccountIDFilter { + s.WildCardValue = &v + return s +} + +// Allows filtering on the ResellerLegalName of a ResaleAuthorization. +type ResaleAuthorizationResellerLegalNameFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the ResellerLegalNameProductName of a ResaleAuthorization + // with list input. + ValueList []*string `min:"1" type:"list"` + + // Allows filtering on the ResellerLegalName of a ResaleAuthorization with wild + // card input. + WildCardValue *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationResellerLegalNameFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationResellerLegalNameFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationResellerLegalNameFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationResellerLegalNameFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + if s.WildCardValue != nil && len(*s.WildCardValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationResellerLegalNameFilter) SetValueList(v []*string) *ResaleAuthorizationResellerLegalNameFilter { + s.ValueList = v + return s +} + +// SetWildCardValue sets the WildCardValue field's value. +func (s *ResaleAuthorizationResellerLegalNameFilter) SetWildCardValue(v string) *ResaleAuthorizationResellerLegalNameFilter { + s.WildCardValue = &v + return s +} + +// Allows to sort ResaleAuthorization. +type ResaleAuthorizationSort struct { + _ struct{} `type:"structure"` + + // Allows to sort ResaleAuthorization. + SortBy *string `type:"string" enum:"ResaleAuthorizationSortBy"` + + // Allows to sort ResaleAuthorization. + SortOrder *string `type:"string" enum:"SortOrder"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationSort) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationSort) GoString() string { + return s.String() +} + +// SetSortBy sets the SortBy field's value. +func (s *ResaleAuthorizationSort) SetSortBy(v string) *ResaleAuthorizationSort { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ResaleAuthorizationSort) SetSortOrder(v string) *ResaleAuthorizationSort { + s.SortOrder = &v + return s +} + +// Allows filtering on the Status of a ResaleAuthorization. +type ResaleAuthorizationStatusFilter struct { + _ struct{} `type:"structure"` + + // Allows filtering on the Status of a ResaleAuthorization with list input. + ValueList []*string `min:"1" type:"list" enum:"ResaleAuthorizationStatusString"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationStatusFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationStatusFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResaleAuthorizationStatusFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResaleAuthorizationStatusFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetValueList sets the ValueList field's value. +func (s *ResaleAuthorizationStatusFilter) SetValueList(v []*string) *ResaleAuthorizationStatusFilter { + s.ValueList = v + return s +} + +// Summarized information about a Resale Authorization. +type ResaleAuthorizationSummary struct { + _ struct{} `type:"structure"` + + // The availability end date of the ResaleAuthorization. + AvailabilityEndDate *string `min:"20" type:"string"` + + // The created date of the ResaleAuthorization. + CreatedDate *string `min:"20" type:"string"` + + // The manufacturer account ID of the ResaleAuthorization. + ManufacturerAccountId *string `min:"12" type:"string"` + + // The manufacturer legal name of the ResaleAuthorization. + ManufacturerLegalName *string `min:"1" type:"string"` + + // The name of the ResaleAuthorization. + Name *string `min:"1" type:"string"` + + // The offer extended status of the ResaleAuthorization + OfferExtendedStatus *string `min:"1" type:"string"` + + // The product ID of the ResaleAuthorization. + ProductId *string `min:"1" type:"string"` + + // The product name of the ResaleAuthorization. + ProductName *string `min:"1" type:"string"` + + // The reseller account ID of the ResaleAuthorization. + ResellerAccountID *string `min:"12" type:"string"` + + // The reseller legal name of the ResaleAuthorization + ResellerLegalName *string `min:"1" type:"string"` + + // The status of the ResaleAuthorization. + Status *string `type:"string" enum:"ResaleAuthorizationStatusString"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResaleAuthorizationSummary) GoString() string { + return s.String() +} + +// SetAvailabilityEndDate sets the AvailabilityEndDate field's value. +func (s *ResaleAuthorizationSummary) SetAvailabilityEndDate(v string) *ResaleAuthorizationSummary { + s.AvailabilityEndDate = &v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *ResaleAuthorizationSummary) SetCreatedDate(v string) *ResaleAuthorizationSummary { + s.CreatedDate = &v + return s +} + +// SetManufacturerAccountId sets the ManufacturerAccountId field's value. +func (s *ResaleAuthorizationSummary) SetManufacturerAccountId(v string) *ResaleAuthorizationSummary { + s.ManufacturerAccountId = &v + return s +} + +// SetManufacturerLegalName sets the ManufacturerLegalName field's value. +func (s *ResaleAuthorizationSummary) SetManufacturerLegalName(v string) *ResaleAuthorizationSummary { + s.ManufacturerLegalName = &v + return s +} + +// SetName sets the Name field's value. +func (s *ResaleAuthorizationSummary) SetName(v string) *ResaleAuthorizationSummary { + s.Name = &v + return s +} + +// SetOfferExtendedStatus sets the OfferExtendedStatus field's value. +func (s *ResaleAuthorizationSummary) SetOfferExtendedStatus(v string) *ResaleAuthorizationSummary { + s.OfferExtendedStatus = &v + return s +} + +// SetProductId sets the ProductId field's value. +func (s *ResaleAuthorizationSummary) SetProductId(v string) *ResaleAuthorizationSummary { + s.ProductId = &v + return s +} + +// SetProductName sets the ProductName field's value. +func (s *ResaleAuthorizationSummary) SetProductName(v string) *ResaleAuthorizationSummary { + s.ProductName = &v + return s +} + +// SetResellerAccountID sets the ResellerAccountID field's value. +func (s *ResaleAuthorizationSummary) SetResellerAccountID(v string) *ResaleAuthorizationSummary { + s.ResellerAccountID = &v + return s +} + +// SetResellerLegalName sets the ResellerLegalName field's value. +func (s *ResaleAuthorizationSummary) SetResellerLegalName(v string) *ResaleAuthorizationSummary { + s.ResellerLegalName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ResaleAuthorizationSummary) SetStatus(v string) *ResaleAuthorizationSummary { + s.Status = &v + return s +} + +// The resource is currently in use. +type ResourceInUseException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceInUseException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceInUseException) GoString() string { + return s.String() +} + +func newErrorResourceInUseException(v protocol.ResponseMetadata) error { + return &ResourceInUseException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceInUseException) Code() string { + return "ResourceInUseException" +} + +// Message returns the exception's message. +func (s *ResourceInUseException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceInUseException) OrigErr() error { + return nil +} + +func (s *ResourceInUseException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceInUseException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceInUseException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The specified resource wasn't found. +// +// HTTP status code: 404 +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" } -// SetMaxResults sets the MaxResults field's value. -func (s *ListEntitiesInput) SetMaxResults(v int64) *ListEntitiesInput { - s.MaxResults = &v - return s +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetNextToken sets the NextToken field's value. -func (s *ListEntitiesInput) SetNextToken(v string) *ListEntitiesInput { - s.NextToken = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil } -// SetOwnershipType sets the OwnershipType field's value. -func (s *ListEntitiesInput) SetOwnershipType(v string) *ListEntitiesInput { - s.OwnershipType = &v - return s +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetSort sets the Sort field's value. -func (s *ListEntitiesInput) SetSort(v *Sort) *ListEntitiesInput { - s.Sort = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode } -type ListEntitiesOutput struct { - _ struct{} `type:"structure"` +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} - // Array of EntitySummary object. - EntitySummaryList []*EntitySummary `type:"list"` +// Currently, the specified resource is not supported. +type ResourceNotSupportedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The value of the next token if it exists. Null if there is no more result. - NextToken *string `min:"1" type:"string"` + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -2960,7 +7023,7 @@ type ListEntitiesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEntitiesOutput) String() string { +func (s ResourceNotSupportedException) String() string { return awsutil.Prettify(s) } @@ -2969,30 +7032,54 @@ func (s ListEntitiesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListEntitiesOutput) GoString() string { +func (s ResourceNotSupportedException) GoString() string { return s.String() } -// SetEntitySummaryList sets the EntitySummaryList field's value. -func (s *ListEntitiesOutput) SetEntitySummaryList(v []*EntitySummary) *ListEntitiesOutput { - s.EntitySummaryList = v - return s +func newErrorResourceNotSupportedException(v protocol.ResponseMetadata) error { + return &ResourceNotSupportedException{ + RespMetadata: v, + } } -// SetNextToken sets the NextToken field's value. -func (s *ListEntitiesOutput) SetNextToken(v string) *ListEntitiesOutput { - s.NextToken = &v - return s +// Code returns the exception type name. +func (s *ResourceNotSupportedException) Code() string { + return "ResourceNotSupportedException" } -type ListTagsForResourceInput struct { +// Message returns the exception's message. +func (s *ResourceNotSupportedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotSupportedException) OrigErr() error { + return nil +} + +func (s *ResourceNotSupportedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotSupportedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotSupportedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Object that allows filtering on entity id of a SaaS product. +type SaaSProductEntityIdFilter struct { _ struct{} `type:"structure"` - // Required. The Amazon Resource Name (ARN) associated with the resource you - // want to list tags on. - // - // ResourceArn is a required field - ResourceArn *string `min:"1" type:"string" required:"true"` + // A string array of unique entity id values to be filtered on. + ValueList []*string `min:"1" type:"list"` } // String returns the string representation. @@ -3000,7 +7087,7 @@ type ListTagsForResourceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) String() string { +func (s SaaSProductEntityIdFilter) String() string { return awsutil.Prettify(s) } @@ -3009,18 +7096,15 @@ func (s ListTagsForResourceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) GoString() string { +func (s SaaSProductEntityIdFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) +func (s *SaaSProductEntityIdFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SaaSProductEntityIdFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) } if invalidParams.Len() > 0 { @@ -3029,21 +7113,28 @@ func (s *ListTagsForResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { - s.ResourceArn = &v +// SetValueList sets the ValueList field's value. +func (s *SaaSProductEntityIdFilter) SetValueList(v []*string) *SaaSProductEntityIdFilter { + s.ValueList = v return s } -type ListTagsForResourceOutput struct { +// Object containing all the filter fields for SaaS products. Client can add +// a maximum of 8 filters in a single ListEntities request. +type SaaSProductFilters struct { _ struct{} `type:"structure"` - // Required. The ARN associated with the resource you want to list tags on. - ResourceArn *string `min:"1" type:"string"` + // Unique identifier for the SaaS product. + EntityId *SaaSProductEntityIdFilter `type:"structure"` - // Required. A list of objects specifying each key name and value. Number of - // objects allowed: 1-50. - Tags []*Tag `min:"1" type:"list"` + // The last date on which the SaaS product was modified. + LastModifiedDate *SaaSProductLastModifiedDateFilter `type:"structure"` + + // The title of the SaaS product. + ProductTitle *SaaSProductTitleFilter `type:"structure"` + + // The visibility of the SaaS product. + Visibility *SaaSProductVisibilityFilter `type:"structure"` } // String returns the string representation. @@ -3051,7 +7142,7 @@ type ListTagsForResourceOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) String() string { +func (s SaaSProductFilters) String() string { return awsutil.Prettify(s) } @@ -3060,35 +7151,70 @@ func (s ListTagsForResourceOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) GoString() string { +func (s SaaSProductFilters) GoString() string { return s.String() } -// SetResourceArn sets the ResourceArn field's value. -func (s *ListTagsForResourceOutput) SetResourceArn(v string) *ListTagsForResourceOutput { - s.ResourceArn = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *SaaSProductFilters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SaaSProductFilters"} + if s.EntityId != nil { + if err := s.EntityId.Validate(); err != nil { + invalidParams.AddNested("EntityId", err.(request.ErrInvalidParams)) + } + } + if s.LastModifiedDate != nil { + if err := s.LastModifiedDate.Validate(); err != nil { + invalidParams.AddNested("LastModifiedDate", err.(request.ErrInvalidParams)) + } + } + if s.ProductTitle != nil { + if err := s.ProductTitle.Validate(); err != nil { + invalidParams.AddNested("ProductTitle", err.(request.ErrInvalidParams)) + } + } + if s.Visibility != nil { + if err := s.Visibility.Validate(); err != nil { + invalidParams.AddNested("Visibility", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntityId sets the EntityId field's value. +func (s *SaaSProductFilters) SetEntityId(v *SaaSProductEntityIdFilter) *SaaSProductFilters { + s.EntityId = v return s } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { - s.Tags = v +// SetLastModifiedDate sets the LastModifiedDate field's value. +func (s *SaaSProductFilters) SetLastModifiedDate(v *SaaSProductLastModifiedDateFilter) *SaaSProductFilters { + s.LastModifiedDate = v return s } -type PutResourcePolicyInput struct { - _ struct{} `type:"structure"` +// SetProductTitle sets the ProductTitle field's value. +func (s *SaaSProductFilters) SetProductTitle(v *SaaSProductTitleFilter) *SaaSProductFilters { + s.ProductTitle = v + return s +} - // The policy document to set; formatted in JSON. - // - // Policy is a required field - Policy *string `min:"1" type:"string" required:"true"` +// SetVisibility sets the Visibility field's value. +func (s *SaaSProductFilters) SetVisibility(v *SaaSProductVisibilityFilter) *SaaSProductFilters { + s.Visibility = v + return s +} - // The Amazon Resource Name (ARN) of the entity resource you want to associate - // with a resource policy. - // - // ResourceArn is a required field - ResourceArn *string `min:"1" type:"string" required:"true"` +// Object that allows filtering based on the last modified date of SaaS products +type SaaSProductLastModifiedDateFilter struct { + _ struct{} `type:"structure"` + + // Dates between which the SaaS product was last modified. + DateRange *SaaSProductLastModifiedDateFilterDateRange `type:"structure"` } // String returns the string representation. @@ -3096,7 +7222,7 @@ type PutResourcePolicyInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutResourcePolicyInput) String() string { +func (s SaaSProductLastModifiedDateFilter) String() string { return awsutil.Prettify(s) } @@ -3105,24 +7231,17 @@ func (s PutResourcePolicyInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutResourcePolicyInput) GoString() string { +func (s SaaSProductLastModifiedDateFilter) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PutResourcePolicyInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutResourcePolicyInput"} - if s.Policy == nil { - invalidParams.Add(request.NewErrParamRequired("Policy")) - } - if s.Policy != nil && len(*s.Policy) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) - } - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) +func (s *SaaSProductLastModifiedDateFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SaaSProductLastModifiedDateFilter"} + if s.DateRange != nil { + if err := s.DateRange.Validate(); err != nil { + invalidParams.AddNested("DateRange", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -3131,20 +7250,23 @@ func (s *PutResourcePolicyInput) Validate() error { return nil } -// SetPolicy sets the Policy field's value. -func (s *PutResourcePolicyInput) SetPolicy(v string) *PutResourcePolicyInput { - s.Policy = &v - return s -} - -// SetResourceArn sets the ResourceArn field's value. -func (s *PutResourcePolicyInput) SetResourceArn(v string) *PutResourcePolicyInput { - s.ResourceArn = &v +// SetDateRange sets the DateRange field's value. +func (s *SaaSProductLastModifiedDateFilter) SetDateRange(v *SaaSProductLastModifiedDateFilterDateRange) *SaaSProductLastModifiedDateFilter { + s.DateRange = v return s } -type PutResourcePolicyOutput struct { +// 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. +type SaaSProductLastModifiedDateFilterDateRange struct { _ struct{} `type:"structure"` + + // Date after which the SaaS product was last modified. + AfterValue *string `min:"20" type:"string"` + + // Date before which the SaaS product was last modified. + BeforeValue *string `min:"20" type:"string"` } // String returns the string representation. @@ -3152,7 +7274,7 @@ type PutResourcePolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutResourcePolicyOutput) String() string { +func (s SaaSProductLastModifiedDateFilterDateRange) String() string { return awsutil.Prettify(s) } @@ -3161,16 +7283,48 @@ func (s PutResourcePolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PutResourcePolicyOutput) GoString() string { +func (s SaaSProductLastModifiedDateFilterDateRange) GoString() string { return s.String() } -// The resource is currently in use. -type ResourceInUseException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *SaaSProductLastModifiedDateFilterDateRange) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SaaSProductLastModifiedDateFilterDateRange"} + if s.AfterValue != nil && len(*s.AfterValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AfterValue", 20)) + } + if s.BeforeValue != nil && len(*s.BeforeValue) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BeforeValue", 20)) + } - Message_ *string `locationName:"Message" min:"1" type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAfterValue sets the AfterValue field's value. +func (s *SaaSProductLastModifiedDateFilterDateRange) SetAfterValue(v string) *SaaSProductLastModifiedDateFilterDateRange { + s.AfterValue = &v + return s +} + +// SetBeforeValue sets the BeforeValue field's value. +func (s *SaaSProductLastModifiedDateFilterDateRange) SetBeforeValue(v string) *SaaSProductLastModifiedDateFilterDateRange { + s.BeforeValue = &v + return s +} + +// Objects that allows sorting on SaaS products based on certain fields and +// sorting order. +type SaaSProductSort struct { + _ struct{} `type:"structure"` + + // Field to sort the SaaS products by. + SortBy *string `type:"string" enum:"SaaSProductSortBy"` + + // The sorting order. Can be ASCENDING or DESCENDING. The default value is DESCENDING. + SortOrder *string `type:"string" enum:"SortOrder"` } // String returns the string representation. @@ -3178,7 +7332,7 @@ type ResourceInUseException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceInUseException) String() string { +func (s SaaSProductSort) String() string { return awsutil.Prettify(s) } @@ -3187,56 +7341,73 @@ func (s ResourceInUseException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceInUseException) GoString() string { +func (s SaaSProductSort) GoString() string { return s.String() } -func newErrorResourceInUseException(v protocol.ResponseMetadata) error { - return &ResourceInUseException{ - RespMetadata: v, - } +// SetSortBy sets the SortBy field's value. +func (s *SaaSProductSort) SetSortBy(v string) *SaaSProductSort { + s.SortBy = &v + return s } -// Code returns the exception type name. -func (s *ResourceInUseException) Code() string { - return "ResourceInUseException" +// SetSortOrder sets the SortOrder field's value. +func (s *SaaSProductSort) SetSortOrder(v string) *SaaSProductSort { + s.SortOrder = &v + return s } -// Message returns the exception's message. -func (s *ResourceInUseException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// Object that contains summarized information about a SaaS product. +type SaaSProductSummary struct { + _ struct{} `type:"structure"` + + // The title of the SaaS product. + ProductTitle *string `min:"1" type:"string"` + + // The lifecycle of the SaaS product. + Visibility *string `type:"string" enum:"SaaSProductVisibilityString"` } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceInUseException) OrigErr() error { - return nil +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SaaSProductSummary) String() string { + return awsutil.Prettify(s) } -func (s *ResourceInUseException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SaaSProductSummary) GoString() string { + return s.String() } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceInUseException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetProductTitle sets the ProductTitle field's value. +func (s *SaaSProductSummary) SetProductTitle(v string) *SaaSProductSummary { + s.ProductTitle = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceInUseException) RequestID() string { - return s.RespMetadata.RequestID +// SetVisibility sets the Visibility field's value. +func (s *SaaSProductSummary) SetVisibility(v string) *SaaSProductSummary { + s.Visibility = &v + return s } -// The specified resource wasn't found. -// -// HTTP status code: 404 -type ResourceNotFoundException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Object that allows filtering on product title. +type SaaSProductTitleFilter struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" min:"1" type:"string"` + // A string array of unique product title values to be filtered on. + ValueList []*string `min:"1" type:"list"` + + // A string that will be the wildCard input for product tile filter. It matches + // the provided value as a substring in the actual value. + WildCardValue *string `min:"1" type:"string"` } // String returns the string representation. @@ -3244,7 +7415,7 @@ type ResourceNotFoundException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotFoundException) String() string { +func (s SaaSProductTitleFilter) String() string { return awsutil.Prettify(s) } @@ -3253,54 +7424,45 @@ func (s ResourceNotFoundException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotFoundException) GoString() string { +func (s SaaSProductTitleFilter) GoString() string { return s.String() } -func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { - return &ResourceNotFoundException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *SaaSProductTitleFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SaaSProductTitleFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) } -} - -// Code returns the exception type name. -func (s *ResourceNotFoundException) Code() string { - return "ResourceNotFoundException" -} - -// Message returns the exception's message. -func (s *ResourceNotFoundException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.WildCardValue != nil && len(*s.WildCardValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WildCardValue", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFoundException) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ResourceNotFoundException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFoundException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetValueList sets the ValueList field's value. +func (s *SaaSProductTitleFilter) SetValueList(v []*string) *SaaSProductTitleFilter { + s.ValueList = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFoundException) RequestID() string { - return s.RespMetadata.RequestID +// SetWildCardValue sets the WildCardValue field's value. +func (s *SaaSProductTitleFilter) SetWildCardValue(v string) *SaaSProductTitleFilter { + s.WildCardValue = &v + return s } -// Currently, the specified resource is not supported. -type ResourceNotSupportedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Object that allows filtering on the visibility of the product in the AWS +// Marketplace. +type SaaSProductVisibilityFilter struct { + _ struct{} `type:"structure"` - Message_ *string `locationName:"Message" min:"1" type:"string"` + // A string array of unique visibility values to be filtered on. + ValueList []*string `min:"1" type:"list" enum:"SaaSProductVisibilityString"` } // String returns the string representation. @@ -3308,7 +7470,7 @@ type ResourceNotSupportedException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotSupportedException) String() string { +func (s SaaSProductVisibilityFilter) String() string { return awsutil.Prettify(s) } @@ -3317,46 +7479,27 @@ func (s ResourceNotSupportedException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ResourceNotSupportedException) GoString() string { +func (s SaaSProductVisibilityFilter) GoString() string { return s.String() } -func newErrorResourceNotSupportedException(v protocol.ResponseMetadata) error { - return &ResourceNotSupportedException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *SaaSProductVisibilityFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SaaSProductVisibilityFilter"} + if s.ValueList != nil && len(s.ValueList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ValueList", 1)) } -} - -// Code returns the exception type name. -func (s *ResourceNotSupportedException) Code() string { - return "ResourceNotSupportedException" -} -// Message returns the exception's message. -func (s *ResourceNotSupportedException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotSupportedException) OrigErr() error { return nil } -func (s *ResourceNotSupportedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotSupportedException) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotSupportedException) RequestID() string { - return s.RespMetadata.RequestID +// SetValueList sets the ValueList field's value. +func (s *SaaSProductVisibilityFilter) SetValueList(v []*string) *SaaSProductVisibilityFilter { + s.ValueList = v + return s } // The maximum number of open requests per account has been exceeded. @@ -4031,6 +8174,54 @@ func (s *ValidationException) RequestID() string { return s.RespMetadata.RequestID } +const ( + // AmiProductSortByEntityId is a AmiProductSortBy enum value + AmiProductSortByEntityId = "EntityId" + + // AmiProductSortByLastModifiedDate is a AmiProductSortBy enum value + AmiProductSortByLastModifiedDate = "LastModifiedDate" + + // AmiProductSortByProductTitle is a AmiProductSortBy enum value + AmiProductSortByProductTitle = "ProductTitle" + + // AmiProductSortByVisibility is a AmiProductSortBy enum value + AmiProductSortByVisibility = "Visibility" +) + +// AmiProductSortBy_Values returns all elements of the AmiProductSortBy enum +func AmiProductSortBy_Values() []string { + return []string{ + AmiProductSortByEntityId, + AmiProductSortByLastModifiedDate, + AmiProductSortByProductTitle, + AmiProductSortByVisibility, + } +} + +const ( + // AmiProductVisibilityStringLimited is a AmiProductVisibilityString enum value + AmiProductVisibilityStringLimited = "Limited" + + // AmiProductVisibilityStringPublic is a AmiProductVisibilityString enum value + AmiProductVisibilityStringPublic = "Public" + + // AmiProductVisibilityStringRestricted is a AmiProductVisibilityString enum value + AmiProductVisibilityStringRestricted = "Restricted" + + // AmiProductVisibilityStringDraft is a AmiProductVisibilityString enum value + AmiProductVisibilityStringDraft = "Draft" +) + +// AmiProductVisibilityString_Values returns all elements of the AmiProductVisibilityString enum +func AmiProductVisibilityString_Values() []string { + return []string{ + AmiProductVisibilityStringLimited, + AmiProductVisibilityStringPublic, + AmiProductVisibilityStringRestricted, + AmiProductVisibilityStringDraft, + } +} + const ( // ChangeStatusPreparing is a ChangeStatus enum value ChangeStatusPreparing = "PREPARING" @@ -4059,6 +8250,106 @@ func ChangeStatus_Values() []string { } } +const ( + // ContainerProductSortByEntityId is a ContainerProductSortBy enum value + ContainerProductSortByEntityId = "EntityId" + + // ContainerProductSortByLastModifiedDate is a ContainerProductSortBy enum value + ContainerProductSortByLastModifiedDate = "LastModifiedDate" + + // ContainerProductSortByProductTitle is a ContainerProductSortBy enum value + ContainerProductSortByProductTitle = "ProductTitle" + + // ContainerProductSortByVisibility is a ContainerProductSortBy enum value + ContainerProductSortByVisibility = "Visibility" +) + +// ContainerProductSortBy_Values returns all elements of the ContainerProductSortBy enum +func ContainerProductSortBy_Values() []string { + return []string{ + ContainerProductSortByEntityId, + ContainerProductSortByLastModifiedDate, + ContainerProductSortByProductTitle, + ContainerProductSortByVisibility, + } +} + +const ( + // ContainerProductVisibilityStringLimited is a ContainerProductVisibilityString enum value + ContainerProductVisibilityStringLimited = "Limited" + + // ContainerProductVisibilityStringPublic is a ContainerProductVisibilityString enum value + ContainerProductVisibilityStringPublic = "Public" + + // ContainerProductVisibilityStringRestricted is a ContainerProductVisibilityString enum value + ContainerProductVisibilityStringRestricted = "Restricted" + + // ContainerProductVisibilityStringDraft is a ContainerProductVisibilityString enum value + ContainerProductVisibilityStringDraft = "Draft" +) + +// ContainerProductVisibilityString_Values returns all elements of the ContainerProductVisibilityString enum +func ContainerProductVisibilityString_Values() []string { + return []string{ + ContainerProductVisibilityStringLimited, + ContainerProductVisibilityStringPublic, + ContainerProductVisibilityStringRestricted, + ContainerProductVisibilityStringDraft, + } +} + +const ( + // DataProductSortByEntityId is a DataProductSortBy enum value + DataProductSortByEntityId = "EntityId" + + // DataProductSortByProductTitle is a DataProductSortBy enum value + DataProductSortByProductTitle = "ProductTitle" + + // DataProductSortByVisibility is a DataProductSortBy enum value + DataProductSortByVisibility = "Visibility" + + // DataProductSortByLastModifiedDate is a DataProductSortBy enum value + DataProductSortByLastModifiedDate = "LastModifiedDate" +) + +// DataProductSortBy_Values returns all elements of the DataProductSortBy enum +func DataProductSortBy_Values() []string { + return []string{ + DataProductSortByEntityId, + DataProductSortByProductTitle, + DataProductSortByVisibility, + DataProductSortByLastModifiedDate, + } +} + +const ( + // DataProductVisibilityStringLimited is a DataProductVisibilityString enum value + DataProductVisibilityStringLimited = "Limited" + + // DataProductVisibilityStringPublic is a DataProductVisibilityString enum value + DataProductVisibilityStringPublic = "Public" + + // DataProductVisibilityStringRestricted is a DataProductVisibilityString enum value + DataProductVisibilityStringRestricted = "Restricted" + + // DataProductVisibilityStringUnavailable is a DataProductVisibilityString enum value + DataProductVisibilityStringUnavailable = "Unavailable" + + // DataProductVisibilityStringDraft is a DataProductVisibilityString enum value + DataProductVisibilityStringDraft = "Draft" +) + +// DataProductVisibilityString_Values returns all elements of the DataProductVisibilityString enum +func DataProductVisibilityString_Values() []string { + return []string{ + DataProductVisibilityStringLimited, + DataProductVisibilityStringPublic, + DataProductVisibilityStringRestricted, + DataProductVisibilityStringUnavailable, + DataProductVisibilityStringDraft, + } +} + const ( // FailureCodeClientError is a FailureCode enum value FailureCodeClientError = "CLIENT_ERROR" @@ -4075,6 +8366,90 @@ func FailureCode_Values() []string { } } +const ( + // OfferSortByEntityId is a OfferSortBy enum value + OfferSortByEntityId = "EntityId" + + // OfferSortByName is a OfferSortBy enum value + OfferSortByName = "Name" + + // OfferSortByProductId is a OfferSortBy enum value + OfferSortByProductId = "ProductId" + + // OfferSortByReleaseDate is a OfferSortBy enum value + OfferSortByReleaseDate = "ReleaseDate" + + // OfferSortByAvailabilityEndDate is a OfferSortBy enum value + OfferSortByAvailabilityEndDate = "AvailabilityEndDate" + + // OfferSortByBuyerAccounts is a OfferSortBy enum value + OfferSortByBuyerAccounts = "BuyerAccounts" + + // OfferSortByState is a OfferSortBy enum value + OfferSortByState = "State" + + // OfferSortByTargeting is a OfferSortBy enum value + OfferSortByTargeting = "Targeting" + + // OfferSortByLastModifiedDate is a OfferSortBy enum value + OfferSortByLastModifiedDate = "LastModifiedDate" +) + +// OfferSortBy_Values returns all elements of the OfferSortBy enum +func OfferSortBy_Values() []string { + return []string{ + OfferSortByEntityId, + OfferSortByName, + OfferSortByProductId, + OfferSortByReleaseDate, + OfferSortByAvailabilityEndDate, + OfferSortByBuyerAccounts, + OfferSortByState, + OfferSortByTargeting, + OfferSortByLastModifiedDate, + } +} + +const ( + // OfferStateStringDraft is a OfferStateString enum value + OfferStateStringDraft = "Draft" + + // OfferStateStringReleased is a OfferStateString enum value + OfferStateStringReleased = "Released" +) + +// OfferStateString_Values returns all elements of the OfferStateString enum +func OfferStateString_Values() []string { + return []string{ + OfferStateStringDraft, + OfferStateStringReleased, + } +} + +const ( + // OfferTargetingStringBuyerAccounts is a OfferTargetingString enum value + OfferTargetingStringBuyerAccounts = "BuyerAccounts" + + // OfferTargetingStringParticipatingPrograms is a OfferTargetingString enum value + OfferTargetingStringParticipatingPrograms = "ParticipatingPrograms" + + // OfferTargetingStringCountryCodes is a OfferTargetingString enum value + OfferTargetingStringCountryCodes = "CountryCodes" + + // OfferTargetingStringNone is a OfferTargetingString enum value + OfferTargetingStringNone = "None" +) + +// OfferTargetingString_Values returns all elements of the OfferTargetingString enum +func OfferTargetingString_Values() []string { + return []string{ + OfferTargetingStringBuyerAccounts, + OfferTargetingStringParticipatingPrograms, + OfferTargetingStringCountryCodes, + OfferTargetingStringNone, + } +} + const ( // OwnershipTypeSelf is a OwnershipType enum value OwnershipTypeSelf = "SELF" @@ -4091,6 +8466,134 @@ func OwnershipType_Values() []string { } } +const ( + // ResaleAuthorizationSortByEntityId is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByEntityId = "EntityId" + + // ResaleAuthorizationSortByName is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByName = "Name" + + // ResaleAuthorizationSortByProductId is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByProductId = "ProductId" + + // ResaleAuthorizationSortByProductName is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByProductName = "ProductName" + + // ResaleAuthorizationSortByManufacturerAccountId is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByManufacturerAccountId = "ManufacturerAccountId" + + // ResaleAuthorizationSortByManufacturerLegalName is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByManufacturerLegalName = "ManufacturerLegalName" + + // ResaleAuthorizationSortByResellerAccountId is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByResellerAccountId = "ResellerAccountID" + + // ResaleAuthorizationSortByResellerLegalName is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByResellerLegalName = "ResellerLegalName" + + // ResaleAuthorizationSortByStatus is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByStatus = "Status" + + // ResaleAuthorizationSortByOfferExtendedStatus is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByOfferExtendedStatus = "OfferExtendedStatus" + + // ResaleAuthorizationSortByCreatedDate is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByCreatedDate = "CreatedDate" + + // ResaleAuthorizationSortByAvailabilityEndDate is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByAvailabilityEndDate = "AvailabilityEndDate" + + // ResaleAuthorizationSortByLastModifiedDate is a ResaleAuthorizationSortBy enum value + ResaleAuthorizationSortByLastModifiedDate = "LastModifiedDate" +) + +// ResaleAuthorizationSortBy_Values returns all elements of the ResaleAuthorizationSortBy enum +func ResaleAuthorizationSortBy_Values() []string { + return []string{ + ResaleAuthorizationSortByEntityId, + ResaleAuthorizationSortByName, + ResaleAuthorizationSortByProductId, + ResaleAuthorizationSortByProductName, + ResaleAuthorizationSortByManufacturerAccountId, + ResaleAuthorizationSortByManufacturerLegalName, + ResaleAuthorizationSortByResellerAccountId, + ResaleAuthorizationSortByResellerLegalName, + ResaleAuthorizationSortByStatus, + ResaleAuthorizationSortByOfferExtendedStatus, + ResaleAuthorizationSortByCreatedDate, + ResaleAuthorizationSortByAvailabilityEndDate, + ResaleAuthorizationSortByLastModifiedDate, + } +} + +const ( + // ResaleAuthorizationStatusStringDraft is a ResaleAuthorizationStatusString enum value + ResaleAuthorizationStatusStringDraft = "Draft" + + // ResaleAuthorizationStatusStringActive is a ResaleAuthorizationStatusString enum value + ResaleAuthorizationStatusStringActive = "Active" + + // ResaleAuthorizationStatusStringRestricted is a ResaleAuthorizationStatusString enum value + ResaleAuthorizationStatusStringRestricted = "Restricted" +) + +// ResaleAuthorizationStatusString_Values returns all elements of the ResaleAuthorizationStatusString enum +func ResaleAuthorizationStatusString_Values() []string { + return []string{ + ResaleAuthorizationStatusStringDraft, + ResaleAuthorizationStatusStringActive, + ResaleAuthorizationStatusStringRestricted, + } +} + +const ( + // SaaSProductSortByEntityId is a SaaSProductSortBy enum value + SaaSProductSortByEntityId = "EntityId" + + // SaaSProductSortByProductTitle is a SaaSProductSortBy enum value + SaaSProductSortByProductTitle = "ProductTitle" + + // SaaSProductSortByVisibility is a SaaSProductSortBy enum value + SaaSProductSortByVisibility = "Visibility" + + // SaaSProductSortByLastModifiedDate is a SaaSProductSortBy enum value + SaaSProductSortByLastModifiedDate = "LastModifiedDate" +) + +// SaaSProductSortBy_Values returns all elements of the SaaSProductSortBy enum +func SaaSProductSortBy_Values() []string { + return []string{ + SaaSProductSortByEntityId, + SaaSProductSortByProductTitle, + SaaSProductSortByVisibility, + SaaSProductSortByLastModifiedDate, + } +} + +const ( + // SaaSProductVisibilityStringLimited is a SaaSProductVisibilityString enum value + SaaSProductVisibilityStringLimited = "Limited" + + // SaaSProductVisibilityStringPublic is a SaaSProductVisibilityString enum value + SaaSProductVisibilityStringPublic = "Public" + + // SaaSProductVisibilityStringRestricted is a SaaSProductVisibilityString enum value + SaaSProductVisibilityStringRestricted = "Restricted" + + // SaaSProductVisibilityStringDraft is a SaaSProductVisibilityString enum value + SaaSProductVisibilityStringDraft = "Draft" +) + +// SaaSProductVisibilityString_Values returns all elements of the SaaSProductVisibilityString enum +func SaaSProductVisibilityString_Values() []string { + return []string{ + SaaSProductVisibilityStringLimited, + SaaSProductVisibilityStringPublic, + SaaSProductVisibilityStringRestricted, + SaaSProductVisibilityStringDraft, + } +} + const ( // SortOrderAscending is a SortOrder enum value SortOrderAscending = "ASCENDING" diff --git a/service/marketplacedeployment/api.go b/service/marketplacedeployment/api.go new file mode 100644 index 00000000000..ad56a5e6ebd --- /dev/null +++ b/service/marketplacedeployment/api.go @@ -0,0 +1,1382 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package marketplacedeployment + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-deployment-2023-01-25/ListTagsForResource +func (c *MarketplaceDeployment) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS Marketplace Deployment Service. +// +// Lists all tags that have been added to a deployment parameter resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Marketplace Deployment Service's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// Too many requests. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource wasn't found. +// +// - ValidationException +// An error occurred during validation. +// +// - InternalServerException +// There was an internal service exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-deployment-2023-01-25/ListTagsForResource +func (c *MarketplaceDeployment) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MarketplaceDeployment) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutDeploymentParameter = "PutDeploymentParameter" + +// PutDeploymentParameterRequest generates a "aws/request.Request" representing the +// client's request for the PutDeploymentParameter operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See PutDeploymentParameter for more information on using the PutDeploymentParameter +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the PutDeploymentParameterRequest method. +// req, resp := client.PutDeploymentParameterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-deployment-2023-01-25/PutDeploymentParameter +func (c *MarketplaceDeployment) PutDeploymentParameterRequest(input *PutDeploymentParameterInput) (req *request.Request, output *PutDeploymentParameterOutput) { + op := &request.Operation{ + Name: opPutDeploymentParameter, + HTTPMethod: "POST", + HTTPPath: "/catalogs/{catalog}/products/{productId}/deployment-parameters", + } + + if input == nil { + input = &PutDeploymentParameterInput{} + } + + output = &PutDeploymentParameterOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutDeploymentParameter API operation for AWS Marketplace Deployment Service. +// +// Creates or updates a deployment parameter and is targeted by catalog and +// agreementId. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Marketplace Deployment Service's +// API operation PutDeploymentParameter for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// Too many requests. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource wasn't found. +// +// - ServiceQuotaExceededException +// The maximum number of requests per account has been exceeded. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ValidationException +// An error occurred during validation. +// +// - InternalServerException +// There was an internal service exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-deployment-2023-01-25/PutDeploymentParameter +func (c *MarketplaceDeployment) PutDeploymentParameter(input *PutDeploymentParameterInput) (*PutDeploymentParameterOutput, error) { + req, out := c.PutDeploymentParameterRequest(input) + return out, req.Send() +} + +// PutDeploymentParameterWithContext is the same as PutDeploymentParameter with the addition of +// the ability to pass a context and additional request options. +// +// See PutDeploymentParameter for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MarketplaceDeployment) PutDeploymentParameterWithContext(ctx aws.Context, input *PutDeploymentParameterInput, opts ...request.Option) (*PutDeploymentParameterOutput, error) { + req, out := c.PutDeploymentParameterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-deployment-2023-01-25/TagResource +func (c *MarketplaceDeployment) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Marketplace Deployment Service. +// +// Tags a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Marketplace Deployment Service's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// Too many requests. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource wasn't found. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ValidationException +// An error occurred during validation. +// +// - InternalServerException +// There was an internal service exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-deployment-2023-01-25/TagResource +func (c *MarketplaceDeployment) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MarketplaceDeployment) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-deployment-2023-01-25/UntagResource +func (c *MarketplaceDeployment) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Marketplace Deployment Service. +// +// Removes a tag or list of tags from a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Marketplace Deployment Service's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// Too many requests. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The specified resource wasn't found. +// +// - ConflictException +// The request configuration has conflicts. For details, see the accompanying +// error message. +// +// - ValidationException +// An error occurred during validation. +// +// - InternalServerException +// There was an internal service exception. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/marketplace-deployment-2023-01-25/UntagResource +func (c *MarketplaceDeployment) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MarketplaceDeployment) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The request configuration has conflicts. For details, see the accompanying +// error message. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The unique identifier for the resource associated with the error. + // + // ResourceId is a required field + ResourceId *string `locationName:"resourceId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The shape containing the requested deployment parameter name and secretString. +type DeploymentParameterInput_ struct { + _ struct{} `type:"structure"` + + // 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. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The text to encrypt and store in the secret. + // + // SecretString is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by DeploymentParameterInput_'s + // String and GoString methods. + // + // SecretString is a required field + SecretString *string `locationName:"secretString" min:"1" type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeploymentParameterInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeploymentParameterInput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeploymentParameterInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeploymentParameterInput_"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SecretString == nil { + invalidParams.Add(request.NewErrParamRequired("SecretString")) + } + if s.SecretString != nil && len(*s.SecretString) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecretString", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeploymentParameterInput_) SetName(v string) *DeploymentParameterInput_ { + s.Name = &v + return s +} + +// SetSecretString sets the SecretString field's value. +func (s *DeploymentParameterInput_) SetSecretString(v string) *DeploymentParameterInput_ { + s.SecretString = &v + return s +} + +// There was an internal service exception. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) associated with the deployment parameter resource + // you want to list tags on. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // A map of key-value pairs, where each pair represents a tag present on the + // resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type PutDeploymentParameterInput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the agreement. + // + // AgreementId is a required field + AgreementId *string `locationName:"agreementId" min:"1" type:"string" required:"true"` + + // The catalog related to the request. Fixed value: AWS Marketplace + // + // Catalog is a required field + Catalog *string `location:"uri" locationName:"catalog" min:"1" type:"string" required:"true"` + + // The idempotency token for deployment parameters. A unique identifier for + // the new version. + ClientToken *string `locationName:"clientToken" min:"32" type:"string" idempotencyToken:"true"` + + // The deployment parameter targeted to the acceptor of an agreement for which + // to create the AWS Secret Manager resource. + // + // DeploymentParameter is a required field + DeploymentParameter *DeploymentParameterInput_ `locationName:"deploymentParameter" type:"structure" required:"true"` + + // The date when deployment parameters expire and are scheduled for deletion. + ExpirationDate *time.Time `locationName:"expirationDate" type:"timestamp" timestampFormat:"iso8601"` + + // The product for which AWS Marketplace will save secrets for the buyer’s + // account. + // + // ProductId is a required field + ProductId *string `location:"uri" locationName:"productId" min:"1" type:"string" required:"true"` + + // 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. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutDeploymentParameterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutDeploymentParameterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutDeploymentParameterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutDeploymentParameterInput"} + if s.AgreementId == nil { + invalidParams.Add(request.NewErrParamRequired("AgreementId")) + } + if s.AgreementId != nil && len(*s.AgreementId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AgreementId", 1)) + } + if s.Catalog == nil { + invalidParams.Add(request.NewErrParamRequired("Catalog")) + } + if s.Catalog != nil && len(*s.Catalog) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Catalog", 1)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 32 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 32)) + } + if s.DeploymentParameter == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentParameter")) + } + if s.ProductId == nil { + invalidParams.Add(request.NewErrParamRequired("ProductId")) + } + if s.ProductId != nil && len(*s.ProductId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ProductId", 1)) + } + if s.DeploymentParameter != nil { + if err := s.DeploymentParameter.Validate(); err != nil { + invalidParams.AddNested("DeploymentParameter", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAgreementId sets the AgreementId field's value. +func (s *PutDeploymentParameterInput) SetAgreementId(v string) *PutDeploymentParameterInput { + s.AgreementId = &v + return s +} + +// SetCatalog sets the Catalog field's value. +func (s *PutDeploymentParameterInput) SetCatalog(v string) *PutDeploymentParameterInput { + s.Catalog = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *PutDeploymentParameterInput) SetClientToken(v string) *PutDeploymentParameterInput { + s.ClientToken = &v + return s +} + +// SetDeploymentParameter sets the DeploymentParameter field's value. +func (s *PutDeploymentParameterInput) SetDeploymentParameter(v *DeploymentParameterInput_) *PutDeploymentParameterInput { + s.DeploymentParameter = v + return s +} + +// SetExpirationDate sets the ExpirationDate field's value. +func (s *PutDeploymentParameterInput) SetExpirationDate(v time.Time) *PutDeploymentParameterInput { + s.ExpirationDate = &v + return s +} + +// SetProductId sets the ProductId field's value. +func (s *PutDeploymentParameterInput) SetProductId(v string) *PutDeploymentParameterInput { + s.ProductId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *PutDeploymentParameterInput) SetTags(v map[string]*string) *PutDeploymentParameterInput { + s.Tags = v + return s +} + +type PutDeploymentParameterOutput struct { + _ struct{} `type:"structure"` + + // The unique identifier of the agreement. + // + // AgreementId is a required field + AgreementId *string `locationName:"agreementId" min:"1" type:"string" required:"true"` + + // The unique identifier of the deployment parameter. + // + // DeploymentParameterId is a required field + DeploymentParameterId *string `locationName:"deploymentParameterId" min:"1" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) associated with the deployment parameter resource + // you want to create or update. + // + // ResourceArn is a required field + ResourceArn *string `locationName:"resourceArn" min:"1" type:"string" required:"true"` + + // 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. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutDeploymentParameterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutDeploymentParameterOutput) GoString() string { + return s.String() +} + +// SetAgreementId sets the AgreementId field's value. +func (s *PutDeploymentParameterOutput) SetAgreementId(v string) *PutDeploymentParameterOutput { + s.AgreementId = &v + return s +} + +// SetDeploymentParameterId sets the DeploymentParameterId field's value. +func (s *PutDeploymentParameterOutput) SetDeploymentParameterId(v string) *PutDeploymentParameterOutput { + s.DeploymentParameterId = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *PutDeploymentParameterOutput) SetResourceArn(v string) *PutDeploymentParameterOutput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *PutDeploymentParameterOutput) SetTags(v map[string]*string) *PutDeploymentParameterOutput { + s.Tags = v + return s +} + +// The specified resource wasn't found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The maximum number of requests per account has been exceeded. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) associated with the resource you want to tag. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // A map of key-value pairs, where each pair represents a tag present on the + // resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// Too many requests. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) associated with the resource you want to remove + // the tag from. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // A list of key names of tags to be removed. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +// An error occurred during validation. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The field name associated with the error. + // + // FieldName is a required field + FieldName *string `locationName:"fieldName" type:"string" required:"true"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} diff --git a/service/marketplacedeployment/doc.go b/service/marketplacedeployment/doc.go new file mode 100644 index 00000000000..be8439a27c1 --- /dev/null +++ b/service/marketplacedeployment/doc.go @@ -0,0 +1,34 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package marketplacedeployment provides the client and types for making API +// requests to AWS Marketplace Deployment Service. +// +// 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. +// +// See https://docs.aws.amazon.com/goto/WebAPI/marketplace-deployment-2023-01-25 for more information on this service. +// +// See marketplacedeployment package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/marketplacedeployment/ +// +// # Using the Client +// +// To contact AWS Marketplace Deployment Service with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS Marketplace Deployment Service client MarketplaceDeployment for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/marketplacedeployment/#New +package marketplacedeployment diff --git a/service/marketplacedeployment/errors.go b/service/marketplacedeployment/errors.go new file mode 100644 index 00000000000..55afa824d44 --- /dev/null +++ b/service/marketplacedeployment/errors.go @@ -0,0 +1,63 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package marketplacedeployment + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You do not have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The request configuration has conflicts. For details, see the accompanying + // error message. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // There was an internal service exception. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The specified resource wasn't found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // The maximum number of requests per account has been exceeded. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // Too many requests. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // An error occurred during validation. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/marketplacedeployment/marketplacedeploymentiface/interface.go b/service/marketplacedeployment/marketplacedeploymentiface/interface.go new file mode 100644 index 00000000000..1dff61f0ae7 --- /dev/null +++ b/service/marketplacedeployment/marketplacedeploymentiface/interface.go @@ -0,0 +1,80 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package marketplacedeploymentiface provides an interface to enable mocking the AWS Marketplace Deployment Service service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package marketplacedeploymentiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/marketplacedeployment" +) + +// MarketplaceDeploymentAPI provides an interface to enable mocking the +// marketplacedeployment.MarketplaceDeployment service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS Marketplace Deployment Service. +// func myFunc(svc marketplacedeploymentiface.MarketplaceDeploymentAPI) bool { +// // Make svc.ListTagsForResource request +// } +// +// func main() { +// sess := session.New() +// svc := marketplacedeployment.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockMarketplaceDeploymentClient struct { +// marketplacedeploymentiface.MarketplaceDeploymentAPI +// } +// func (m *mockMarketplaceDeploymentClient) ListTagsForResource(input *marketplacedeployment.ListTagsForResourceInput) (*marketplacedeployment.ListTagsForResourceOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockMarketplaceDeploymentClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type MarketplaceDeploymentAPI interface { + ListTagsForResource(*marketplacedeployment.ListTagsForResourceInput) (*marketplacedeployment.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *marketplacedeployment.ListTagsForResourceInput, ...request.Option) (*marketplacedeployment.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*marketplacedeployment.ListTagsForResourceInput) (*request.Request, *marketplacedeployment.ListTagsForResourceOutput) + + PutDeploymentParameter(*marketplacedeployment.PutDeploymentParameterInput) (*marketplacedeployment.PutDeploymentParameterOutput, error) + PutDeploymentParameterWithContext(aws.Context, *marketplacedeployment.PutDeploymentParameterInput, ...request.Option) (*marketplacedeployment.PutDeploymentParameterOutput, error) + PutDeploymentParameterRequest(*marketplacedeployment.PutDeploymentParameterInput) (*request.Request, *marketplacedeployment.PutDeploymentParameterOutput) + + TagResource(*marketplacedeployment.TagResourceInput) (*marketplacedeployment.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *marketplacedeployment.TagResourceInput, ...request.Option) (*marketplacedeployment.TagResourceOutput, error) + TagResourceRequest(*marketplacedeployment.TagResourceInput) (*request.Request, *marketplacedeployment.TagResourceOutput) + + UntagResource(*marketplacedeployment.UntagResourceInput) (*marketplacedeployment.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *marketplacedeployment.UntagResourceInput, ...request.Option) (*marketplacedeployment.UntagResourceOutput, error) + UntagResourceRequest(*marketplacedeployment.UntagResourceInput) (*request.Request, *marketplacedeployment.UntagResourceOutput) +} + +var _ MarketplaceDeploymentAPI = (*marketplacedeployment.MarketplaceDeployment)(nil) diff --git a/service/marketplacedeployment/service.go b/service/marketplacedeployment/service.go new file mode 100644 index 00000000000..1227207ddba --- /dev/null +++ b/service/marketplacedeployment/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package marketplacedeployment + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// MarketplaceDeployment provides the API operation methods for making requests to +// AWS Marketplace Deployment Service. See this package's package overview docs +// for details on the service. +// +// MarketplaceDeployment methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MarketplaceDeployment struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "Marketplace Deployment" // Name of service. + EndpointsID = "deployment-marketplace" // ID to lookup a service endpoint with. + ServiceID = "Marketplace Deployment" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the MarketplaceDeployment client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a MarketplaceDeployment client from just a session. +// svc := marketplacedeployment.New(mySession) +// +// // Create a MarketplaceDeployment client with additional configuration +// svc := marketplacedeployment.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MarketplaceDeployment { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "aws-marketplace" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *MarketplaceDeployment { + svc := &MarketplaceDeployment{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2023-01-25", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MarketplaceDeployment operation and runs any +// custom request initialization. +func (c *MarketplaceDeployment) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/redshiftserverless/api.go b/service/redshiftserverless/api.go index 05288b71466..a0b137cadd7 100644 --- a/service/redshiftserverless/api.go +++ b/service/redshiftserverless/api.go @@ -388,6 +388,97 @@ func (c *RedshiftServerless) CreateNamespaceWithContext(ctx aws.Context, input * return out, req.Send() } +const opCreateScheduledAction = "CreateScheduledAction" + +// CreateScheduledActionRequest generates a "aws/request.Request" representing the +// client's request for the CreateScheduledAction operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateScheduledAction for more information on using the CreateScheduledAction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateScheduledActionRequest method. +// req, resp := client.CreateScheduledActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateScheduledAction +func (c *RedshiftServerless) CreateScheduledActionRequest(input *CreateScheduledActionInput) (req *request.Request, output *CreateScheduledActionOutput) { + op := &request.Operation{ + Name: opCreateScheduledAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateScheduledActionInput{} + } + + output = &CreateScheduledActionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateScheduledAction API operation for Redshift Serverless. +// +// 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Redshift Serverless's +// API operation CreateScheduledAction for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateScheduledAction +func (c *RedshiftServerless) CreateScheduledAction(input *CreateScheduledActionInput) (*CreateScheduledActionOutput, error) { + req, out := c.CreateScheduledActionRequest(input) + return out, req.Send() +} + +// CreateScheduledActionWithContext is the same as CreateScheduledAction with the addition of +// the ability to pass a context and additional request options. +// +// See CreateScheduledAction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) CreateScheduledActionWithContext(ctx aws.Context, input *CreateScheduledActionInput, opts ...request.Option) (*CreateScheduledActionOutput, error) { + req, out := c.CreateScheduledActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateSnapshot = "CreateSnapshot" // CreateSnapshotRequest generates a "aws/request.Request" representing the @@ -484,6 +575,102 @@ func (c *RedshiftServerless) CreateSnapshotWithContext(ctx aws.Context, input *C return out, req.Send() } +const opCreateSnapshotCopyConfiguration = "CreateSnapshotCopyConfiguration" + +// CreateSnapshotCopyConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the CreateSnapshotCopyConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateSnapshotCopyConfiguration for more information on using the CreateSnapshotCopyConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateSnapshotCopyConfigurationRequest method. +// req, resp := client.CreateSnapshotCopyConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateSnapshotCopyConfiguration +func (c *RedshiftServerless) CreateSnapshotCopyConfigurationRequest(input *CreateSnapshotCopyConfigurationInput) (req *request.Request, output *CreateSnapshotCopyConfigurationOutput) { + op := &request.Operation{ + Name: opCreateSnapshotCopyConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSnapshotCopyConfigurationInput{} + } + + output = &CreateSnapshotCopyConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSnapshotCopyConfiguration API operation for Redshift Serverless. +// +// Creates a snapshot copy configuration that lets you copy snapshots to another +// Amazon Web Services Region. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Redshift Serverless's +// API operation CreateSnapshotCopyConfiguration for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ServiceQuotaExceededException +// The service limit was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/CreateSnapshotCopyConfiguration +func (c *RedshiftServerless) CreateSnapshotCopyConfiguration(input *CreateSnapshotCopyConfigurationInput) (*CreateSnapshotCopyConfigurationOutput, error) { + req, out := c.CreateSnapshotCopyConfigurationRequest(input) + return out, req.Send() +} + +// CreateSnapshotCopyConfigurationWithContext is the same as CreateSnapshotCopyConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSnapshotCopyConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) CreateSnapshotCopyConfigurationWithContext(ctx aws.Context, input *CreateSnapshotCopyConfigurationInput, opts ...request.Option) (*CreateSnapshotCopyConfigurationOutput, error) { + req, out := c.CreateSnapshotCopyConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateUsageLimit = "CreateUsageLimit" // CreateUsageLimitRequest generates a "aws/request.Request" representing the @@ -1035,57 +1222,57 @@ func (c *RedshiftServerless) DeleteResourcePolicyWithContext(ctx aws.Context, in return out, req.Send() } -const opDeleteSnapshot = "DeleteSnapshot" +const opDeleteScheduledAction = "DeleteScheduledAction" -// DeleteSnapshotRequest generates a "aws/request.Request" representing the -// client's request for the DeleteSnapshot operation. The "output" return +// DeleteScheduledActionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteScheduledAction operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteSnapshot for more information on using the DeleteSnapshot +// See DeleteScheduledAction for more information on using the DeleteScheduledAction // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DeleteSnapshotRequest method. -// req, resp := client.DeleteSnapshotRequest(params) +// // Example sending a request using the DeleteScheduledActionRequest method. +// req, resp := client.DeleteScheduledActionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteSnapshot -func (c *RedshiftServerless) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteScheduledAction +func (c *RedshiftServerless) DeleteScheduledActionRequest(input *DeleteScheduledActionInput) (req *request.Request, output *DeleteScheduledActionOutput) { op := &request.Operation{ - Name: opDeleteSnapshot, + Name: opDeleteScheduledAction, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteSnapshotInput{} + input = &DeleteScheduledActionInput{} } - output = &DeleteSnapshotOutput{} + output = &DeleteScheduledActionOutput{} req = c.newRequest(op, input, output) return } -// DeleteSnapshot API operation for Redshift Serverless. +// DeleteScheduledAction API operation for Redshift Serverless. // -// Deletes a snapshot from Amazon Redshift Serverless. +// Deletes a scheduled action. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Redshift Serverless's -// API operation DeleteSnapshot for usage and error information. +// API operation DeleteScheduledAction for usage and error information. // // Returned Error Types: // @@ -1096,85 +1283,82 @@ func (c *RedshiftServerless) DeleteSnapshotRequest(input *DeleteSnapshotInput) ( // - ResourceNotFoundException // The resource could not be found. // -// - ConflictException -// The submitted action has conflicts. -// // - ValidationException // The input failed to satisfy the constraints specified by an AWS service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteSnapshot -func (c *RedshiftServerless) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { - req, out := c.DeleteSnapshotRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteScheduledAction +func (c *RedshiftServerless) DeleteScheduledAction(input *DeleteScheduledActionInput) (*DeleteScheduledActionOutput, error) { + req, out := c.DeleteScheduledActionRequest(input) return out, req.Send() } -// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of +// DeleteScheduledActionWithContext is the same as DeleteScheduledAction with the addition of // the ability to pass a context and additional request options. // -// See DeleteSnapshot for details on how to use this API operation. +// See DeleteScheduledAction for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *RedshiftServerless) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) { - req, out := c.DeleteSnapshotRequest(input) +func (c *RedshiftServerless) DeleteScheduledActionWithContext(ctx aws.Context, input *DeleteScheduledActionInput, opts ...request.Option) (*DeleteScheduledActionOutput, error) { + req, out := c.DeleteScheduledActionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteUsageLimit = "DeleteUsageLimit" +const opDeleteSnapshot = "DeleteSnapshot" -// DeleteUsageLimitRequest generates a "aws/request.Request" representing the -// client's request for the DeleteUsageLimit operation. The "output" return +// DeleteSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSnapshot operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteUsageLimit for more information on using the DeleteUsageLimit +// See DeleteSnapshot for more information on using the DeleteSnapshot // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DeleteUsageLimitRequest method. -// req, resp := client.DeleteUsageLimitRequest(params) +// // Example sending a request using the DeleteSnapshotRequest method. +// req, resp := client.DeleteSnapshotRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteUsageLimit -func (c *RedshiftServerless) DeleteUsageLimitRequest(input *DeleteUsageLimitInput) (req *request.Request, output *DeleteUsageLimitOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteSnapshot +func (c *RedshiftServerless) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { op := &request.Operation{ - Name: opDeleteUsageLimit, + Name: opDeleteSnapshot, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteUsageLimitInput{} + input = &DeleteSnapshotInput{} } - output = &DeleteUsageLimitOutput{} + output = &DeleteSnapshotOutput{} req = c.newRequest(op, input, output) return } -// DeleteUsageLimit API operation for Redshift Serverless. +// DeleteSnapshot API operation for Redshift Serverless. // -// Deletes a usage limit from Amazon Redshift Serverless. +// Deletes a snapshot from Amazon Redshift Serverless. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Redshift Serverless's -// API operation DeleteUsageLimit for usage and error information. +// API operation DeleteSnapshot for usage and error information. // // Returned Error Types: // @@ -1191,79 +1375,79 @@ func (c *RedshiftServerless) DeleteUsageLimitRequest(input *DeleteUsageLimitInpu // - ValidationException // The input failed to satisfy the constraints specified by an AWS service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteUsageLimit -func (c *RedshiftServerless) DeleteUsageLimit(input *DeleteUsageLimitInput) (*DeleteUsageLimitOutput, error) { - req, out := c.DeleteUsageLimitRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteSnapshot +func (c *RedshiftServerless) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { + req, out := c.DeleteSnapshotRequest(input) return out, req.Send() } -// DeleteUsageLimitWithContext is the same as DeleteUsageLimit with the addition of +// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of // the ability to pass a context and additional request options. // -// See DeleteUsageLimit for details on how to use this API operation. +// See DeleteSnapshot for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *RedshiftServerless) DeleteUsageLimitWithContext(ctx aws.Context, input *DeleteUsageLimitInput, opts ...request.Option) (*DeleteUsageLimitOutput, error) { - req, out := c.DeleteUsageLimitRequest(input) +func (c *RedshiftServerless) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) { + req, out := c.DeleteSnapshotRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteWorkgroup = "DeleteWorkgroup" +const opDeleteSnapshotCopyConfiguration = "DeleteSnapshotCopyConfiguration" -// DeleteWorkgroupRequest generates a "aws/request.Request" representing the -// client's request for the DeleteWorkgroup operation. The "output" return +// DeleteSnapshotCopyConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSnapshotCopyConfiguration operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DeleteWorkgroup for more information on using the DeleteWorkgroup +// See DeleteSnapshotCopyConfiguration for more information on using the DeleteSnapshotCopyConfiguration // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DeleteWorkgroupRequest method. -// req, resp := client.DeleteWorkgroupRequest(params) +// // Example sending a request using the DeleteSnapshotCopyConfigurationRequest method. +// req, resp := client.DeleteSnapshotCopyConfigurationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteWorkgroup -func (c *RedshiftServerless) DeleteWorkgroupRequest(input *DeleteWorkgroupInput) (req *request.Request, output *DeleteWorkgroupOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteSnapshotCopyConfiguration +func (c *RedshiftServerless) DeleteSnapshotCopyConfigurationRequest(input *DeleteSnapshotCopyConfigurationInput) (req *request.Request, output *DeleteSnapshotCopyConfigurationOutput) { op := &request.Operation{ - Name: opDeleteWorkgroup, + Name: opDeleteSnapshotCopyConfiguration, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &DeleteWorkgroupInput{} + input = &DeleteSnapshotCopyConfigurationInput{} } - output = &DeleteWorkgroupOutput{} + output = &DeleteSnapshotCopyConfigurationOutput{} req = c.newRequest(op, input, output) return } -// DeleteWorkgroup API operation for Redshift Serverless. +// DeleteSnapshotCopyConfiguration API operation for Redshift Serverless. // -// Deletes a workgroup. +// # Deletes a snapshot copy configuration // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Redshift Serverless's -// API operation DeleteWorkgroup for usage and error information. +// API operation DeleteSnapshotCopyConfiguration for usage and error information. // // Returned Error Types: // @@ -1280,70 +1464,251 @@ func (c *RedshiftServerless) DeleteWorkgroupRequest(input *DeleteWorkgroupInput) // - ValidationException // The input failed to satisfy the constraints specified by an AWS service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteWorkgroup -func (c *RedshiftServerless) DeleteWorkgroup(input *DeleteWorkgroupInput) (*DeleteWorkgroupOutput, error) { - req, out := c.DeleteWorkgroupRequest(input) +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteSnapshotCopyConfiguration +func (c *RedshiftServerless) DeleteSnapshotCopyConfiguration(input *DeleteSnapshotCopyConfigurationInput) (*DeleteSnapshotCopyConfigurationOutput, error) { + req, out := c.DeleteSnapshotCopyConfigurationRequest(input) return out, req.Send() } -// DeleteWorkgroupWithContext is the same as DeleteWorkgroup with the addition of +// DeleteSnapshotCopyConfigurationWithContext is the same as DeleteSnapshotCopyConfiguration with the addition of // the ability to pass a context and additional request options. // -// See DeleteWorkgroup for details on how to use this API operation. +// See DeleteSnapshotCopyConfiguration for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *RedshiftServerless) DeleteWorkgroupWithContext(ctx aws.Context, input *DeleteWorkgroupInput, opts ...request.Option) (*DeleteWorkgroupOutput, error) { - req, out := c.DeleteWorkgroupRequest(input) +func (c *RedshiftServerless) DeleteSnapshotCopyConfigurationWithContext(ctx aws.Context, input *DeleteSnapshotCopyConfigurationInput, opts ...request.Option) (*DeleteSnapshotCopyConfigurationOutput, error) { + req, out := c.DeleteSnapshotCopyConfigurationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetCredentials = "GetCredentials" +const opDeleteUsageLimit = "DeleteUsageLimit" -// GetCredentialsRequest generates a "aws/request.Request" representing the -// client's request for the GetCredentials operation. The "output" return +// DeleteUsageLimitRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUsageLimit operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See GetCredentials for more information on using the GetCredentials +// See DeleteUsageLimit for more information on using the DeleteUsageLimit // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the GetCredentialsRequest method. -// req, resp := client.GetCredentialsRequest(params) +// // Example sending a request using the DeleteUsageLimitRequest method. +// req, resp := client.DeleteUsageLimitRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetCredentials -func (c *RedshiftServerless) GetCredentialsRequest(input *GetCredentialsInput) (req *request.Request, output *GetCredentialsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteUsageLimit +func (c *RedshiftServerless) DeleteUsageLimitRequest(input *DeleteUsageLimitInput) (req *request.Request, output *DeleteUsageLimitOutput) { op := &request.Operation{ - Name: opGetCredentials, + Name: opDeleteUsageLimit, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &GetCredentialsInput{} + input = &DeleteUsageLimitInput{} } - output = &GetCredentialsOutput{} + output = &DeleteUsageLimitOutput{} req = c.newRequest(op, input, output) return } -// GetCredentials API operation for Redshift Serverless. +// DeleteUsageLimit API operation for Redshift Serverless. +// +// Deletes a usage limit from Amazon Redshift Serverless. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Redshift Serverless's +// API operation DeleteUsageLimit for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteUsageLimit +func (c *RedshiftServerless) DeleteUsageLimit(input *DeleteUsageLimitInput) (*DeleteUsageLimitOutput, error) { + req, out := c.DeleteUsageLimitRequest(input) + return out, req.Send() +} + +// DeleteUsageLimitWithContext is the same as DeleteUsageLimit with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteUsageLimit for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) DeleteUsageLimitWithContext(ctx aws.Context, input *DeleteUsageLimitInput, opts ...request.Option) (*DeleteUsageLimitOutput, error) { + req, out := c.DeleteUsageLimitRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWorkgroup = "DeleteWorkgroup" + +// DeleteWorkgroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkgroup operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteWorkgroup for more information on using the DeleteWorkgroup +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteWorkgroupRequest method. +// req, resp := client.DeleteWorkgroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteWorkgroup +func (c *RedshiftServerless) DeleteWorkgroupRequest(input *DeleteWorkgroupInput) (req *request.Request, output *DeleteWorkgroupOutput) { + op := &request.Operation{ + Name: opDeleteWorkgroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteWorkgroupInput{} + } + + output = &DeleteWorkgroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteWorkgroup API operation for Redshift Serverless. +// +// Deletes a workgroup. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Redshift Serverless's +// API operation DeleteWorkgroup for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/DeleteWorkgroup +func (c *RedshiftServerless) DeleteWorkgroup(input *DeleteWorkgroupInput) (*DeleteWorkgroupOutput, error) { + req, out := c.DeleteWorkgroupRequest(input) + return out, req.Send() +} + +// DeleteWorkgroupWithContext is the same as DeleteWorkgroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWorkgroup for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) DeleteWorkgroupWithContext(ctx aws.Context, input *DeleteWorkgroupInput, opts ...request.Option) (*DeleteWorkgroupOutput, error) { + req, out := c.DeleteWorkgroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCredentials = "GetCredentials" + +// GetCredentialsRequest generates a "aws/request.Request" representing the +// client's request for the GetCredentials operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetCredentials for more information on using the GetCredentials +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetCredentialsRequest method. +// req, resp := client.GetCredentialsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetCredentials +func (c *RedshiftServerless) GetCredentialsRequest(input *GetCredentialsInput) (req *request.Request, output *GetCredentialsOutput) { + op := &request.Operation{ + Name: opGetCredentials, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetCredentialsInput{} + } + + output = &GetCredentialsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetCredentials API operation for Redshift Serverless. // // Returns a database user name and temporary password with temporary authorization // to log in to Amazon Redshift Serverless. @@ -1844,6 +2209,92 @@ func (c *RedshiftServerless) GetResourcePolicyWithContext(ctx aws.Context, input return out, req.Send() } +const opGetScheduledAction = "GetScheduledAction" + +// GetScheduledActionRequest generates a "aws/request.Request" representing the +// client's request for the GetScheduledAction operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetScheduledAction for more information on using the GetScheduledAction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the GetScheduledActionRequest method. +// req, resp := client.GetScheduledActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetScheduledAction +func (c *RedshiftServerless) GetScheduledActionRequest(input *GetScheduledActionInput) (req *request.Request, output *GetScheduledActionOutput) { + op := &request.Operation{ + Name: opGetScheduledAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetScheduledActionInput{} + } + + output = &GetScheduledActionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetScheduledAction API operation for Redshift Serverless. +// +// Returns information about a scheduled action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Redshift Serverless's +// API operation GetScheduledAction for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/GetScheduledAction +func (c *RedshiftServerless) GetScheduledAction(input *GetScheduledActionInput) (*GetScheduledActionOutput, error) { + req, out := c.GetScheduledActionRequest(input) + return out, req.Send() +} + +// GetScheduledActionWithContext is the same as GetScheduledAction with the addition of +// the ability to pass a context and additional request options. +// +// See GetScheduledAction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) GetScheduledActionWithContext(ctx aws.Context, input *GetScheduledActionInput, opts ...request.Option) (*GetScheduledActionOutput, error) { + req, out := c.GetScheduledActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetSnapshot = "GetSnapshot" // GetSnapshotRequest generates a "aws/request.Request" representing the @@ -2762,34 +3213,34 @@ func (c *RedshiftServerless) ListRecoveryPointsPagesWithContext(ctx aws.Context, return p.Err() } -const opListSnapshots = "ListSnapshots" +const opListScheduledActions = "ListScheduledActions" -// ListSnapshotsRequest generates a "aws/request.Request" representing the -// client's request for the ListSnapshots operation. The "output" return +// ListScheduledActionsRequest generates a "aws/request.Request" representing the +// client's request for the ListScheduledActions operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See ListSnapshots for more information on using the ListSnapshots +// See ListScheduledActions for more information on using the ListScheduledActions // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the ListSnapshotsRequest method. -// req, resp := client.ListSnapshotsRequest(params) +// // Example sending a request using the ListScheduledActionsRequest method. +// req, resp := client.ListScheduledActionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListSnapshots -func (c *RedshiftServerless) ListSnapshotsRequest(input *ListSnapshotsInput) (req *request.Request, output *ListSnapshotsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListScheduledActions +func (c *RedshiftServerless) ListScheduledActionsRequest(input *ListScheduledActionsInput) (req *request.Request, output *ListScheduledActionsOutput) { op := &request.Operation{ - Name: opListSnapshots, + Name: opListScheduledActions, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -2801,17 +3252,313 @@ func (c *RedshiftServerless) ListSnapshotsRequest(input *ListSnapshotsInput) (re } if input == nil { - input = &ListSnapshotsInput{} + input = &ListScheduledActionsInput{} } - output = &ListSnapshotsOutput{} + output = &ListScheduledActionsOutput{} req = c.newRequest(op, input, output) return } -// ListSnapshots API operation for Redshift Serverless. +// ListScheduledActions API operation for Redshift Serverless. // -// Returns a list of snapshots. +// Returns a list of scheduled actions. You can use the flags to filter the +// list of returned scheduled actions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Redshift Serverless's +// API operation ListScheduledActions for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - InvalidPaginationException +// The provided pagination token is invalid. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListScheduledActions +func (c *RedshiftServerless) ListScheduledActions(input *ListScheduledActionsInput) (*ListScheduledActionsOutput, error) { + req, out := c.ListScheduledActionsRequest(input) + return out, req.Send() +} + +// ListScheduledActionsWithContext is the same as ListScheduledActions with the addition of +// the ability to pass a context and additional request options. +// +// See ListScheduledActions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) ListScheduledActionsWithContext(ctx aws.Context, input *ListScheduledActionsInput, opts ...request.Option) (*ListScheduledActionsOutput, error) { + req, out := c.ListScheduledActionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListScheduledActionsPages iterates over the pages of a ListScheduledActions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListScheduledActions method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListScheduledActions operation. +// pageNum := 0 +// err := client.ListScheduledActionsPages(params, +// func(page *redshiftserverless.ListScheduledActionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *RedshiftServerless) ListScheduledActionsPages(input *ListScheduledActionsInput, fn func(*ListScheduledActionsOutput, bool) bool) error { + return c.ListScheduledActionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListScheduledActionsPagesWithContext same as ListScheduledActionsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) ListScheduledActionsPagesWithContext(ctx aws.Context, input *ListScheduledActionsInput, fn func(*ListScheduledActionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListScheduledActionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListScheduledActionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListScheduledActionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListSnapshotCopyConfigurations = "ListSnapshotCopyConfigurations" + +// ListSnapshotCopyConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListSnapshotCopyConfigurations operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListSnapshotCopyConfigurations for more information on using the ListSnapshotCopyConfigurations +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListSnapshotCopyConfigurationsRequest method. +// req, resp := client.ListSnapshotCopyConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListSnapshotCopyConfigurations +func (c *RedshiftServerless) ListSnapshotCopyConfigurationsRequest(input *ListSnapshotCopyConfigurationsInput) (req *request.Request, output *ListSnapshotCopyConfigurationsOutput) { + op := &request.Operation{ + Name: opListSnapshotCopyConfigurations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSnapshotCopyConfigurationsInput{} + } + + output = &ListSnapshotCopyConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSnapshotCopyConfigurations API operation for Redshift Serverless. +// +// Returns a list of snapshot copy configurations. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Redshift Serverless's +// API operation ListSnapshotCopyConfigurations for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - InvalidPaginationException +// The provided pagination token is invalid. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListSnapshotCopyConfigurations +func (c *RedshiftServerless) ListSnapshotCopyConfigurations(input *ListSnapshotCopyConfigurationsInput) (*ListSnapshotCopyConfigurationsOutput, error) { + req, out := c.ListSnapshotCopyConfigurationsRequest(input) + return out, req.Send() +} + +// ListSnapshotCopyConfigurationsWithContext is the same as ListSnapshotCopyConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListSnapshotCopyConfigurations for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) ListSnapshotCopyConfigurationsWithContext(ctx aws.Context, input *ListSnapshotCopyConfigurationsInput, opts ...request.Option) (*ListSnapshotCopyConfigurationsOutput, error) { + req, out := c.ListSnapshotCopyConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListSnapshotCopyConfigurationsPages iterates over the pages of a ListSnapshotCopyConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSnapshotCopyConfigurations method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListSnapshotCopyConfigurations operation. +// pageNum := 0 +// err := client.ListSnapshotCopyConfigurationsPages(params, +// func(page *redshiftserverless.ListSnapshotCopyConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *RedshiftServerless) ListSnapshotCopyConfigurationsPages(input *ListSnapshotCopyConfigurationsInput, fn func(*ListSnapshotCopyConfigurationsOutput, bool) bool) error { + return c.ListSnapshotCopyConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListSnapshotCopyConfigurationsPagesWithContext same as ListSnapshotCopyConfigurationsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) ListSnapshotCopyConfigurationsPagesWithContext(ctx aws.Context, input *ListSnapshotCopyConfigurationsInput, fn func(*ListSnapshotCopyConfigurationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSnapshotCopyConfigurationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSnapshotCopyConfigurationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSnapshotCopyConfigurationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListSnapshots = "ListSnapshots" + +// ListSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the ListSnapshots operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListSnapshots for more information on using the ListSnapshots +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListSnapshotsRequest method. +// req, resp := client.ListSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/ListSnapshots +func (c *RedshiftServerless) ListSnapshotsRequest(input *ListSnapshotsInput) (req *request.Request, output *ListSnapshotsOutput) { + op := &request.Operation{ + Name: opListSnapshots, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListSnapshotsInput{} + } + + output = &ListSnapshotsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListSnapshots API operation for Redshift Serverless. +// +// Returns a list of snapshots. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3699,51 +4446,142 @@ func (c *RedshiftServerless) RestoreFromSnapshotWithContext(ctx aws.Context, inp return out, req.Send() } -const opRestoreTableFromSnapshot = "RestoreTableFromSnapshot" +const opRestoreTableFromRecoveryPoint = "RestoreTableFromRecoveryPoint" -// RestoreTableFromSnapshotRequest generates a "aws/request.Request" representing the -// client's request for the RestoreTableFromSnapshot operation. The "output" return +// RestoreTableFromRecoveryPointRequest generates a "aws/request.Request" representing the +// client's request for the RestoreTableFromRecoveryPoint operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See RestoreTableFromSnapshot for more information on using the RestoreTableFromSnapshot +// See RestoreTableFromRecoveryPoint for more information on using the RestoreTableFromRecoveryPoint // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the RestoreTableFromSnapshotRequest method. -// req, resp := client.RestoreTableFromSnapshotRequest(params) +// // Example sending a request using the RestoreTableFromRecoveryPointRequest method. +// req, resp := client.RestoreTableFromRecoveryPointRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/RestoreTableFromSnapshot -func (c *RedshiftServerless) RestoreTableFromSnapshotRequest(input *RestoreTableFromSnapshotInput) (req *request.Request, output *RestoreTableFromSnapshotOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/RestoreTableFromRecoveryPoint +func (c *RedshiftServerless) RestoreTableFromRecoveryPointRequest(input *RestoreTableFromRecoveryPointInput) (req *request.Request, output *RestoreTableFromRecoveryPointOutput) { op := &request.Operation{ - Name: opRestoreTableFromSnapshot, + Name: opRestoreTableFromRecoveryPoint, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &RestoreTableFromSnapshotInput{} + input = &RestoreTableFromRecoveryPointInput{} } - output = &RestoreTableFromSnapshotOutput{} + output = &RestoreTableFromRecoveryPointOutput{} req = c.newRequest(op, input, output) return } -// RestoreTableFromSnapshot API operation for Redshift Serverless. +// RestoreTableFromRecoveryPoint API operation for Redshift Serverless. // -// Restores a table from a snapshot to your Amazon Redshift Serverless instance. -// You can't use this operation to restore tables with interleaved sort keys +// 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. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Redshift Serverless's +// API operation RestoreTableFromRecoveryPoint for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/RestoreTableFromRecoveryPoint +func (c *RedshiftServerless) RestoreTableFromRecoveryPoint(input *RestoreTableFromRecoveryPointInput) (*RestoreTableFromRecoveryPointOutput, error) { + req, out := c.RestoreTableFromRecoveryPointRequest(input) + return out, req.Send() +} + +// RestoreTableFromRecoveryPointWithContext is the same as RestoreTableFromRecoveryPoint with the addition of +// the ability to pass a context and additional request options. +// +// See RestoreTableFromRecoveryPoint for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) RestoreTableFromRecoveryPointWithContext(ctx aws.Context, input *RestoreTableFromRecoveryPointInput, opts ...request.Option) (*RestoreTableFromRecoveryPointOutput, error) { + req, out := c.RestoreTableFromRecoveryPointRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRestoreTableFromSnapshot = "RestoreTableFromSnapshot" + +// RestoreTableFromSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the RestoreTableFromSnapshot operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See RestoreTableFromSnapshot for more information on using the RestoreTableFromSnapshot +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the RestoreTableFromSnapshotRequest method. +// req, resp := client.RestoreTableFromSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/RestoreTableFromSnapshot +func (c *RedshiftServerless) RestoreTableFromSnapshotRequest(input *RestoreTableFromSnapshotInput) (req *request.Request, output *RestoreTableFromSnapshotOutput) { + op := &request.Operation{ + Name: opRestoreTableFromSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RestoreTableFromSnapshotInput{} + } + + output = &RestoreTableFromSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// RestoreTableFromSnapshot API operation for Redshift Serverless. +// +// Restores a table from a snapshot to your Amazon Redshift Serverless instance. +// You can't use this operation to restore tables with interleaved sort keys // (https://docs.aws.amazon.com/redshift/latest/dg/t_Sorting_data.html#t_Sorting_data-interleaved). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -4253,6 +5091,95 @@ func (c *RedshiftServerless) UpdateNamespaceWithContext(ctx aws.Context, input * return out, req.Send() } +const opUpdateScheduledAction = "UpdateScheduledAction" + +// UpdateScheduledActionRequest generates a "aws/request.Request" representing the +// client's request for the UpdateScheduledAction operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateScheduledAction for more information on using the UpdateScheduledAction +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateScheduledActionRequest method. +// req, resp := client.UpdateScheduledActionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/UpdateScheduledAction +func (c *RedshiftServerless) UpdateScheduledActionRequest(input *UpdateScheduledActionInput) (req *request.Request, output *UpdateScheduledActionOutput) { + op := &request.Operation{ + Name: opUpdateScheduledAction, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateScheduledActionInput{} + } + + output = &UpdateScheduledActionOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateScheduledAction API operation for Redshift Serverless. +// +// Updates a scheduled action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Redshift Serverless's +// API operation UpdateScheduledAction for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/UpdateScheduledAction +func (c *RedshiftServerless) UpdateScheduledAction(input *UpdateScheduledActionInput) (*UpdateScheduledActionOutput, error) { + req, out := c.UpdateScheduledActionRequest(input) + return out, req.Send() +} + +// UpdateScheduledActionWithContext is the same as UpdateScheduledAction with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateScheduledAction for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) UpdateScheduledActionWithContext(ctx aws.Context, input *UpdateScheduledActionInput, opts ...request.Option) (*UpdateScheduledActionOutput, error) { + req, out := c.UpdateScheduledActionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateSnapshot = "UpdateSnapshot" // UpdateSnapshotRequest generates a "aws/request.Request" representing the @@ -4342,6 +5269,98 @@ func (c *RedshiftServerless) UpdateSnapshotWithContext(ctx aws.Context, input *U return out, req.Send() } +const opUpdateSnapshotCopyConfiguration = "UpdateSnapshotCopyConfiguration" + +// UpdateSnapshotCopyConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSnapshotCopyConfiguration operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateSnapshotCopyConfiguration for more information on using the UpdateSnapshotCopyConfiguration +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateSnapshotCopyConfigurationRequest method. +// req, resp := client.UpdateSnapshotCopyConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/UpdateSnapshotCopyConfiguration +func (c *RedshiftServerless) UpdateSnapshotCopyConfigurationRequest(input *UpdateSnapshotCopyConfigurationInput) (req *request.Request, output *UpdateSnapshotCopyConfigurationOutput) { + op := &request.Operation{ + Name: opUpdateSnapshotCopyConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateSnapshotCopyConfigurationInput{} + } + + output = &UpdateSnapshotCopyConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSnapshotCopyConfiguration API operation for Redshift Serverless. +// +// Updates a snapshot copy configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Redshift Serverless's +// API operation UpdateSnapshotCopyConfiguration for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure. +// +// - ResourceNotFoundException +// The resource could not be found. +// +// - ConflictException +// The submitted action has conflicts. +// +// - ValidationException +// The input failed to satisfy the constraints specified by an AWS service. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-serverless-2021-04-21/UpdateSnapshotCopyConfiguration +func (c *RedshiftServerless) UpdateSnapshotCopyConfiguration(input *UpdateSnapshotCopyConfigurationInput) (*UpdateSnapshotCopyConfigurationOutput, error) { + req, out := c.UpdateSnapshotCopyConfigurationRequest(input) + return out, req.Send() +} + +// UpdateSnapshotCopyConfigurationWithContext is the same as UpdateSnapshotCopyConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSnapshotCopyConfiguration for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *RedshiftServerless) UpdateSnapshotCopyConfigurationWithContext(ctx aws.Context, input *UpdateSnapshotCopyConfigurationInput, opts ...request.Option) (*UpdateSnapshotCopyConfigurationOutput, error) { + req, out := c.UpdateSnapshotCopyConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateUsageLimit = "UpdateUsageLimit" // UpdateUsageLimitRequest generates a "aws/request.Request" representing the @@ -4656,7 +5675,7 @@ func (s *Association) SetWorkgroupName(v string) *Association { type ConfigParameter struct { _ struct{} `type:"structure"` - // The key of the parameter. The options are auto_mv, datestyle, enable_case_sensitivity_identifier, + // 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 @@ -5033,6 +6052,10 @@ type CreateEndpointAccessInput struct { // EndpointName is a required field EndpointName *string `locationName:"endpointName" type:"string" required:"true"` + // The owner Amazon Web Services account for the Amazon Redshift Serverless + // workgroup. + OwnerAccount *string `locationName:"ownerAccount" min:"1" type:"string"` + // The unique identifers of subnets from which Amazon Redshift Serverless chooses // one to deploy a VPC endpoint. // @@ -5073,6 +6096,9 @@ func (s *CreateEndpointAccessInput) Validate() error { if s.EndpointName == nil { invalidParams.Add(request.NewErrParamRequired("EndpointName")) } + if s.OwnerAccount != nil && len(*s.OwnerAccount) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OwnerAccount", 1)) + } if s.SubnetIds == nil { invalidParams.Add(request.NewErrParamRequired("SubnetIds")) } @@ -5092,6 +6118,12 @@ func (s *CreateEndpointAccessInput) SetEndpointName(v string) *CreateEndpointAcc return s } +// SetOwnerAccount sets the OwnerAccount field's value. +func (s *CreateEndpointAccessInput) SetOwnerAccount(v string) *CreateEndpointAccessInput { + s.OwnerAccount = &v + return s +} + // SetSubnetIds sets the SubnetIds field's value. func (s *CreateEndpointAccessInput) SetSubnetIds(v []*string) *CreateEndpointAccessInput { s.SubnetIds = v @@ -5351,25 +6383,68 @@ func (s *CreateNamespaceOutput) SetNamespace(v *Namespace) *CreateNamespaceOutpu return s } -type CreateSnapshotInput struct { +type CreateScheduledActionInput struct { _ struct{} `type:"structure"` - // The namespace to create a snapshot for. + // 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 (https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_ScheduledAction.html). + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The end time in UTC when the schedule is no longer active. After this time, + // the scheduled action does not trigger. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The name of the namespace for which to create a scheduled action. // // NamespaceName is a required field - NamespaceName *string `locationName:"namespaceName" type:"string" required:"true"` + NamespaceName *string `locationName:"namespaceName" min:"3" type:"string" required:"true"` - // How long to retain the created snapshot. - RetentionPeriod *int64 `locationName:"retentionPeriod" type:"integer"` + // 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 (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) + // in the Amazon Redshift Cluster Management Guide + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" type:"string" required:"true"` - // The name of the snapshot. + // The schedule for a one-time (at format) or recurring (cron format) scheduled + // action. Schedule invocations must be separated by at least one hour. // - // SnapshotName is a required field - SnapshotName *string `locationName:"snapshotName" type:"string" required:"true"` + // 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 (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. + // + // Schedule is a required field + Schedule *Schedule `locationName:"schedule" type:"structure" required:"true"` - // An array of Tag objects (https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_Tag.html) - // to associate with the snapshot. - Tags []*Tag `locationName:"tags" type:"list"` + // The description of the scheduled action. + ScheduledActionDescription *string `locationName:"scheduledActionDescription" type:"string"` + + // The name of the scheduled action. + // + // ScheduledActionName is a required field + ScheduledActionName *string `locationName:"scheduledActionName" min:"3" type:"string" required:"true"` + + // The start time in UTC when the schedule is active. Before this time, the + // scheduled action does not trigger. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // 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"}}" + // + // TargetAction is a required field + TargetAction *TargetAction `locationName:"targetAction" type:"structure" required:"true"` } // String returns the string representation. @@ -5377,7 +6452,7 @@ type CreateSnapshotInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSnapshotInput) String() string { +func (s CreateScheduledActionInput) String() string { return awsutil.Prettify(s) } @@ -5386,12 +6461,290 @@ func (s CreateSnapshotInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSnapshotInput) GoString() string { +func (s CreateScheduledActionInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSnapshotInput) Validate() error { +func (s *CreateScheduledActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateScheduledActionInput"} + if s.NamespaceName == nil { + invalidParams.Add(request.NewErrParamRequired("NamespaceName")) + } + if s.NamespaceName != nil && len(*s.NamespaceName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 3)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.Schedule == nil { + invalidParams.Add(request.NewErrParamRequired("Schedule")) + } + if s.ScheduledActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) + } + if s.ScheduledActionName != nil && len(*s.ScheduledActionName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ScheduledActionName", 3)) + } + if s.TargetAction == nil { + invalidParams.Add(request.NewErrParamRequired("TargetAction")) + } + if s.TargetAction != nil { + if err := s.TargetAction.Validate(); err != nil { + invalidParams.AddNested("TargetAction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *CreateScheduledActionInput) SetEnabled(v bool) *CreateScheduledActionInput { + s.Enabled = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *CreateScheduledActionInput) SetEndTime(v time.Time) *CreateScheduledActionInput { + s.EndTime = &v + return s +} + +// SetNamespaceName sets the NamespaceName field's value. +func (s *CreateScheduledActionInput) SetNamespaceName(v string) *CreateScheduledActionInput { + s.NamespaceName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateScheduledActionInput) SetRoleArn(v string) *CreateScheduledActionInput { + s.RoleArn = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *CreateScheduledActionInput) SetSchedule(v *Schedule) *CreateScheduledActionInput { + s.Schedule = v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *CreateScheduledActionInput) SetScheduledActionDescription(v string) *CreateScheduledActionInput { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *CreateScheduledActionInput) SetScheduledActionName(v string) *CreateScheduledActionInput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *CreateScheduledActionInput) SetStartTime(v time.Time) *CreateScheduledActionInput { + s.StartTime = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *CreateScheduledActionInput) SetTargetAction(v *TargetAction) *CreateScheduledActionInput { + s.TargetAction = v + return s +} + +type CreateScheduledActionOutput struct { + _ struct{} `type:"structure"` + + // The returned ScheduledAction object that describes the properties of a scheduled + // action. + ScheduledAction *ScheduledActionResponse `locationName:"scheduledAction" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateScheduledActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateScheduledActionOutput) GoString() string { + return s.String() +} + +// SetScheduledAction sets the ScheduledAction field's value. +func (s *CreateScheduledActionOutput) SetScheduledAction(v *ScheduledActionResponse) *CreateScheduledActionOutput { + s.ScheduledAction = v + return s +} + +type CreateSnapshotCopyConfigurationInput struct { + _ struct{} `type:"structure"` + + // The KMS key to use to encrypt your snapshots in the destination Amazon Web + // Services Region. + DestinationKmsKeyId *string `locationName:"destinationKmsKeyId" type:"string"` + + // The destination Amazon Web Services Region that you want to copy snapshots + // to. + // + // DestinationRegion is a required field + DestinationRegion *string `locationName:"destinationRegion" type:"string" required:"true"` + + // The name of the namespace to copy snapshots from. + // + // NamespaceName is a required field + NamespaceName *string `locationName:"namespaceName" min:"3" type:"string" required:"true"` + + // The retention period of the snapshots that you copy to the destination Amazon + // Web Services Region. + SnapshotRetentionPeriod *int64 `locationName:"snapshotRetentionPeriod" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnapshotCopyConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnapshotCopyConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSnapshotCopyConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotCopyConfigurationInput"} + if s.DestinationRegion == nil { + invalidParams.Add(request.NewErrParamRequired("DestinationRegion")) + } + if s.NamespaceName == nil { + invalidParams.Add(request.NewErrParamRequired("NamespaceName")) + } + if s.NamespaceName != nil && len(*s.NamespaceName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestinationKmsKeyId sets the DestinationKmsKeyId field's value. +func (s *CreateSnapshotCopyConfigurationInput) SetDestinationKmsKeyId(v string) *CreateSnapshotCopyConfigurationInput { + s.DestinationKmsKeyId = &v + return s +} + +// SetDestinationRegion sets the DestinationRegion field's value. +func (s *CreateSnapshotCopyConfigurationInput) SetDestinationRegion(v string) *CreateSnapshotCopyConfigurationInput { + s.DestinationRegion = &v + return s +} + +// SetNamespaceName sets the NamespaceName field's value. +func (s *CreateSnapshotCopyConfigurationInput) SetNamespaceName(v string) *CreateSnapshotCopyConfigurationInput { + s.NamespaceName = &v + return s +} + +// SetSnapshotRetentionPeriod sets the SnapshotRetentionPeriod field's value. +func (s *CreateSnapshotCopyConfigurationInput) SetSnapshotRetentionPeriod(v int64) *CreateSnapshotCopyConfigurationInput { + s.SnapshotRetentionPeriod = &v + return s +} + +type CreateSnapshotCopyConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The snapshot copy configuration object that is returned. + // + // SnapshotCopyConfiguration is a required field + SnapshotCopyConfiguration *SnapshotCopyConfiguration `locationName:"snapshotCopyConfiguration" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnapshotCopyConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnapshotCopyConfigurationOutput) GoString() string { + return s.String() +} + +// SetSnapshotCopyConfiguration sets the SnapshotCopyConfiguration field's value. +func (s *CreateSnapshotCopyConfigurationOutput) SetSnapshotCopyConfiguration(v *SnapshotCopyConfiguration) *CreateSnapshotCopyConfigurationOutput { + s.SnapshotCopyConfiguration = v + return s +} + +type CreateSnapshotInput struct { + _ struct{} `type:"structure"` + + // The namespace to create a snapshot for. + // + // NamespaceName is a required field + NamespaceName *string `locationName:"namespaceName" type:"string" required:"true"` + + // How long to retain the created snapshot. + RetentionPeriod *int64 `locationName:"retentionPeriod" type:"integer"` + + // The name of the snapshot. + // + // SnapshotName is a required field + SnapshotName *string `locationName:"snapshotName" type:"string" required:"true"` + + // An array of Tag objects (https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_Tag.html) + // to associate with the snapshot. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSnapshotInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} if s.NamespaceName == nil { invalidParams.Add(request.NewErrParamRequired("NamespaceName")) @@ -5471,6 +6824,107 @@ func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput { return s } +// The parameters that you can use to configure a scheduled action (https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_CreateScheduledAction.html) +// to create a snapshot. For more information about creating a scheduled action, +// see CreateScheduledAction (https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_CreateScheduledAction.html). +type CreateSnapshotScheduleActionParameters struct { + _ struct{} `type:"structure"` + + // The name of the namespace for which you want to configure a scheduled action + // to create a snapshot. + // + // NamespaceName is a required field + NamespaceName *string `locationName:"namespaceName" min:"3" type:"string" required:"true"` + + // The retention period of the snapshot created by the scheduled action. + RetentionPeriod *int64 `locationName:"retentionPeriod" type:"integer"` + + // 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. + // + // SnapshotNamePrefix is a required field + SnapshotNamePrefix *string `locationName:"snapshotNamePrefix" min:"1" type:"string" required:"true"` + + // An array of Tag objects (https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_Tag.html) + // to associate with the snapshot. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnapshotScheduleActionParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnapshotScheduleActionParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSnapshotScheduleActionParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotScheduleActionParameters"} + if s.NamespaceName == nil { + invalidParams.Add(request.NewErrParamRequired("NamespaceName")) + } + if s.NamespaceName != nil && len(*s.NamespaceName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 3)) + } + if s.SnapshotNamePrefix == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotNamePrefix")) + } + if s.SnapshotNamePrefix != nil && len(*s.SnapshotNamePrefix) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotNamePrefix", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNamespaceName sets the NamespaceName field's value. +func (s *CreateSnapshotScheduleActionParameters) SetNamespaceName(v string) *CreateSnapshotScheduleActionParameters { + s.NamespaceName = &v + return s +} + +// SetRetentionPeriod sets the RetentionPeriod field's value. +func (s *CreateSnapshotScheduleActionParameters) SetRetentionPeriod(v int64) *CreateSnapshotScheduleActionParameters { + s.RetentionPeriod = &v + return s +} + +// SetSnapshotNamePrefix sets the SnapshotNamePrefix field's value. +func (s *CreateSnapshotScheduleActionParameters) SetSnapshotNamePrefix(v string) *CreateSnapshotScheduleActionParameters { + s.SnapshotNamePrefix = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateSnapshotScheduleActionParameters) SetTags(v []*Tag) *CreateSnapshotScheduleActionParameters { + s.Tags = v + return s +} + type CreateUsageLimitInput struct { _ struct{} `type:"structure"` @@ -5608,7 +7062,7 @@ type CreateWorkgroupInput struct { BaseCapacity *int64 `locationName:"baseCapacity" type:"integer"` // 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, + // 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 @@ -6132,6 +7586,165 @@ func (s DeleteResourcePolicyOutput) GoString() string { return s.String() } +type DeleteScheduledActionInput struct { + _ struct{} `type:"structure"` + + // The name of the scheduled action to delete. + // + // ScheduledActionName is a required field + ScheduledActionName *string `locationName:"scheduledActionName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteScheduledActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteScheduledActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteScheduledActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteScheduledActionInput"} + if s.ScheduledActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) + } + if s.ScheduledActionName != nil && len(*s.ScheduledActionName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ScheduledActionName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *DeleteScheduledActionInput) SetScheduledActionName(v string) *DeleteScheduledActionInput { + s.ScheduledActionName = &v + return s +} + +type DeleteScheduledActionOutput struct { + _ struct{} `type:"structure"` + + // The deleted scheduled action object. + ScheduledAction *ScheduledActionResponse `locationName:"scheduledAction" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteScheduledActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteScheduledActionOutput) GoString() string { + return s.String() +} + +// SetScheduledAction sets the ScheduledAction field's value. +func (s *DeleteScheduledActionOutput) SetScheduledAction(v *ScheduledActionResponse) *DeleteScheduledActionOutput { + s.ScheduledAction = v + return s +} + +type DeleteSnapshotCopyConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the snapshot copy configuration to delete. + // + // SnapshotCopyConfigurationId is a required field + SnapshotCopyConfigurationId *string `locationName:"snapshotCopyConfigurationId" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSnapshotCopyConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSnapshotCopyConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSnapshotCopyConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotCopyConfigurationInput"} + if s.SnapshotCopyConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotCopyConfigurationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSnapshotCopyConfigurationId sets the SnapshotCopyConfigurationId field's value. +func (s *DeleteSnapshotCopyConfigurationInput) SetSnapshotCopyConfigurationId(v string) *DeleteSnapshotCopyConfigurationInput { + s.SnapshotCopyConfigurationId = &v + return s +} + +type DeleteSnapshotCopyConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The deleted snapshot copy configuration object. + // + // SnapshotCopyConfiguration is a required field + SnapshotCopyConfiguration *SnapshotCopyConfiguration `locationName:"snapshotCopyConfiguration" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSnapshotCopyConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteSnapshotCopyConfigurationOutput) GoString() string { + return s.String() +} + +// SetSnapshotCopyConfiguration sets the SnapshotCopyConfiguration field's value. +func (s *DeleteSnapshotCopyConfigurationOutput) SetSnapshotCopyConfiguration(v *SnapshotCopyConfiguration) *DeleteSnapshotCopyConfigurationOutput { + s.SnapshotCopyConfiguration = v + return s +} + type DeleteSnapshotInput struct { _ struct{} `type:"structure"` @@ -7093,17 +8706,97 @@ func (s *GetResourcePolicyInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { - s.ResourceArn = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput { + s.ResourceArn = &v + return s +} + +type GetResourcePolicyOutput struct { + _ struct{} `type:"structure"` + + // The returned resource policy. + ResourcePolicy *ResourcePolicy `locationName:"resourcePolicy" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourcePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourcePolicyOutput) GoString() string { + return s.String() +} + +// SetResourcePolicy sets the ResourcePolicy field's value. +func (s *GetResourcePolicyOutput) SetResourcePolicy(v *ResourcePolicy) *GetResourcePolicyOutput { + s.ResourcePolicy = v + return s +} + +type GetScheduledActionInput struct { + _ struct{} `type:"structure"` + + // The name of the scheduled action. + // + // ScheduledActionName is a required field + ScheduledActionName *string `locationName:"scheduledActionName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetScheduledActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetScheduledActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetScheduledActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetScheduledActionInput"} + if s.ScheduledActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) + } + if s.ScheduledActionName != nil && len(*s.ScheduledActionName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ScheduledActionName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *GetScheduledActionInput) SetScheduledActionName(v string) *GetScheduledActionInput { + s.ScheduledActionName = &v return s } -type GetResourcePolicyOutput struct { +type GetScheduledActionOutput struct { _ struct{} `type:"structure"` - // The returned resource policy. - ResourcePolicy *ResourcePolicy `locationName:"resourcePolicy" type:"structure"` + // The returned scheduled action object. + ScheduledAction *ScheduledActionResponse `locationName:"scheduledAction" type:"structure"` } // String returns the string representation. @@ -7111,7 +8804,7 @@ type GetResourcePolicyOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetResourcePolicyOutput) String() string { +func (s GetScheduledActionOutput) String() string { return awsutil.Prettify(s) } @@ -7120,13 +8813,13 @@ func (s GetResourcePolicyOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetResourcePolicyOutput) GoString() string { +func (s GetScheduledActionOutput) GoString() string { return s.String() } -// SetResourcePolicy sets the ResourcePolicy field's value. -func (s *GetResourcePolicyOutput) SetResourcePolicy(v *ResourcePolicy) *GetResourcePolicyOutput { - s.ResourcePolicy = v +// SetScheduledAction sets the ScheduledAction field's value. +func (s *GetScheduledActionOutput) SetScheduledAction(v *ScheduledActionResponse) *GetScheduledActionOutput { + s.ScheduledAction = v return s } @@ -7777,6 +9470,10 @@ type ListEndpointAccessInput struct { // which returns results in the next page. NextToken *string `locationName:"nextToken" type:"string"` + // The owner Amazon Web Services account for the Amazon Redshift Serverless + // workgroup. + OwnerAccount *string `locationName:"ownerAccount" min:"1" type:"string"` + // The unique identifier of the virtual private cloud with access to Amazon // Redshift Serverless. VpcId *string `locationName:"vpcId" type:"string"` @@ -7809,6 +9506,9 @@ func (s *ListEndpointAccessInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.OwnerAccount != nil && len(*s.OwnerAccount) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OwnerAccount", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -7828,6 +9528,12 @@ func (s *ListEndpointAccessInput) SetNextToken(v string) *ListEndpointAccessInpu return s } +// SetOwnerAccount sets the OwnerAccount field's value. +func (s *ListEndpointAccessInput) SetOwnerAccount(v string) *ListEndpointAccessInput { + s.OwnerAccount = &v + return s +} + // SetVpcId sets the VpcId field's value. func (s *ListEndpointAccessInput) SetVpcId(v string) *ListEndpointAccessInput { s.VpcId = &v @@ -7951,7 +9657,258 @@ type ListNamespacesOutput struct { // When 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. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListNamespacesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListNamespacesOutput) GoString() string { + return s.String() +} + +// SetNamespaces sets the Namespaces field's value. +func (s *ListNamespacesOutput) SetNamespaces(v []*Namespace) *ListNamespacesOutput { + s.Namespaces = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListNamespacesOutput) SetNextToken(v string) *ListNamespacesOutput { + s.NextToken = &v + return s +} + +type ListRecoveryPointsInput struct { + _ struct{} `type:"structure"` + + // The time when creation of the recovery point finished. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // An optional parameter that specifies the maximum number of results to return. + // You can use nextToken to display the next page of results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The Amazon Resource Name (ARN) of the namespace from which to list recovery + // points. + NamespaceArn *string `locationName:"namespaceArn" type:"string"` + + // The name of the namespace to list recovery points for. + NamespaceName *string `locationName:"namespaceName" min:"3" type:"string"` + + // If your initial ListRecoveryPoints operation returns a nextToken, you can + // include the returned nextToken in following ListRecoveryPoints operations, + // which returns results in the next page. + NextToken *string `locationName:"nextToken" type:"string"` + + // The time when the recovery point's creation was initiated. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecoveryPointsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecoveryPointsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListRecoveryPointsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListRecoveryPointsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NamespaceName != nil && len(*s.NamespaceName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndTime sets the EndTime field's value. +func (s *ListRecoveryPointsInput) SetEndTime(v time.Time) *ListRecoveryPointsInput { + s.EndTime = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListRecoveryPointsInput) SetMaxResults(v int64) *ListRecoveryPointsInput { + s.MaxResults = &v + return s +} + +// SetNamespaceArn sets the NamespaceArn field's value. +func (s *ListRecoveryPointsInput) SetNamespaceArn(v string) *ListRecoveryPointsInput { + s.NamespaceArn = &v + return s +} + +// SetNamespaceName sets the NamespaceName field's value. +func (s *ListRecoveryPointsInput) SetNamespaceName(v string) *ListRecoveryPointsInput { + s.NamespaceName = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecoveryPointsInput) SetNextToken(v string) *ListRecoveryPointsInput { + s.NextToken = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ListRecoveryPointsInput) SetStartTime(v time.Time) *ListRecoveryPointsInput { + s.StartTime = &v + return s +} + +type ListRecoveryPointsOutput struct { + _ struct{} `type:"structure"` + + // 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. + NextToken *string `locationName:"nextToken" type:"string"` + + // The returned recovery point objects. + RecoveryPoints []*RecoveryPoint `locationName:"recoveryPoints" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecoveryPointsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListRecoveryPointsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListRecoveryPointsOutput) SetNextToken(v string) *ListRecoveryPointsOutput { + s.NextToken = &v + return s +} + +// SetRecoveryPoints sets the RecoveryPoints field's value. +func (s *ListRecoveryPointsOutput) SetRecoveryPoints(v []*RecoveryPoint) *ListRecoveryPointsOutput { + s.RecoveryPoints = v + return s +} + +type ListScheduledActionsInput struct { + _ struct{} `type:"structure"` + + // An optional parameter that specifies the maximum number of results to return. + // Use nextToken to display the next page of results. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // The name of namespace associated with the scheduled action to retrieve. + NamespaceName *string `locationName:"namespaceName" min:"3" type:"string"` + + // 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. + NextToken *string `locationName:"nextToken" min:"8" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListScheduledActionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListScheduledActionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListScheduledActionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListScheduledActionsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NamespaceName != nil && len(*s.NamespaceName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 3)) + } + if s.NextToken != nil && len(*s.NextToken) < 8 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 8)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListScheduledActionsInput) SetMaxResults(v int64) *ListScheduledActionsInput { + s.MaxResults = &v + return s +} + +// SetNamespaceName sets the NamespaceName field's value. +func (s *ListScheduledActionsInput) SetNamespaceName(v string) *ListScheduledActionsInput { + s.NamespaceName = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListScheduledActionsInput) SetNextToken(v string) *ListScheduledActionsInput { + s.NextToken = &v + return s +} + +type ListScheduledActionsOutput struct { + _ struct{} `type:"structure"` + + // 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. + NextToken *string `locationName:"nextToken" min:"8" type:"string"` + + // All of the returned scheduled action objects. + ScheduledActions []*string `locationName:"scheduledActions" type:"list"` } // String returns the string representation. @@ -7959,7 +9916,7 @@ type ListNamespacesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListNamespacesOutput) String() string { +func (s ListScheduledActionsOutput) String() string { return awsutil.Prettify(s) } @@ -7968,46 +9925,36 @@ func (s ListNamespacesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListNamespacesOutput) GoString() string { +func (s ListScheduledActionsOutput) GoString() string { return s.String() } -// SetNamespaces sets the Namespaces field's value. -func (s *ListNamespacesOutput) SetNamespaces(v []*Namespace) *ListNamespacesOutput { - s.Namespaces = v +// SetNextToken sets the NextToken field's value. +func (s *ListScheduledActionsOutput) SetNextToken(v string) *ListScheduledActionsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListNamespacesOutput) SetNextToken(v string) *ListNamespacesOutput { - s.NextToken = &v +// SetScheduledActions sets the ScheduledActions field's value. +func (s *ListScheduledActionsOutput) SetScheduledActions(v []*string) *ListScheduledActionsOutput { + s.ScheduledActions = v return s } -type ListRecoveryPointsInput struct { +type ListSnapshotCopyConfigurationsInput struct { _ struct{} `type:"structure"` - // The time when creation of the recovery point finished. - EndTime *time.Time `locationName:"endTime" type:"timestamp"` - // An optional parameter that specifies the maximum number of results to return. // You can use nextToken to display the next page of results. MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` - // The Amazon Resource Name (ARN) of the namespace from which to list recovery - // points. - NamespaceArn *string `locationName:"namespaceArn" type:"string"` - - // The name of the namespace to list recovery points for. + // The namespace from which to list all snapshot copy configurations. NamespaceName *string `locationName:"namespaceName" min:"3" type:"string"` - // If your initial ListRecoveryPoints operation returns a nextToken, you can - // include the returned nextToken in following ListRecoveryPoints operations, - // which returns results in the next page. - NextToken *string `locationName:"nextToken" type:"string"` - - // The time when the recovery point's creation was initiated. - StartTime *time.Time `locationName:"startTime" type:"timestamp"` + // 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. + NextToken *string `locationName:"nextToken" min:"8" type:"string"` } // String returns the string representation. @@ -8015,7 +9962,7 @@ type ListRecoveryPointsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListRecoveryPointsInput) String() string { +func (s ListSnapshotCopyConfigurationsInput) String() string { return awsutil.Prettify(s) } @@ -8024,19 +9971,22 @@ func (s ListRecoveryPointsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListRecoveryPointsInput) GoString() string { +func (s ListSnapshotCopyConfigurationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListRecoveryPointsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListRecoveryPointsInput"} +func (s *ListSnapshotCopyConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSnapshotCopyConfigurationsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.NamespaceName != nil && len(*s.NamespaceName) < 3 { invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 3)) } + if s.NextToken != nil && len(*s.NextToken) < 8 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 8)) + } if invalidParams.Len() > 0 { return invalidParams @@ -8044,52 +9994,36 @@ func (s *ListRecoveryPointsInput) Validate() error { return nil } -// SetEndTime sets the EndTime field's value. -func (s *ListRecoveryPointsInput) SetEndTime(v time.Time) *ListRecoveryPointsInput { - s.EndTime = &v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *ListRecoveryPointsInput) SetMaxResults(v int64) *ListRecoveryPointsInput { +func (s *ListSnapshotCopyConfigurationsInput) SetMaxResults(v int64) *ListSnapshotCopyConfigurationsInput { s.MaxResults = &v return s } -// SetNamespaceArn sets the NamespaceArn field's value. -func (s *ListRecoveryPointsInput) SetNamespaceArn(v string) *ListRecoveryPointsInput { - s.NamespaceArn = &v - return s -} - // SetNamespaceName sets the NamespaceName field's value. -func (s *ListRecoveryPointsInput) SetNamespaceName(v string) *ListRecoveryPointsInput { +func (s *ListSnapshotCopyConfigurationsInput) SetNamespaceName(v string) *ListSnapshotCopyConfigurationsInput { s.NamespaceName = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListRecoveryPointsInput) SetNextToken(v string) *ListRecoveryPointsInput { +func (s *ListSnapshotCopyConfigurationsInput) SetNextToken(v string) *ListSnapshotCopyConfigurationsInput { s.NextToken = &v return s } -// SetStartTime sets the StartTime field's value. -func (s *ListRecoveryPointsInput) SetStartTime(v time.Time) *ListRecoveryPointsInput { - s.StartTime = &v - return s -} - -type ListRecoveryPointsOutput struct { +type ListSnapshotCopyConfigurationsOutput struct { _ struct{} `type:"structure"` // 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. - NextToken *string `locationName:"nextToken" type:"string"` + NextToken *string `locationName:"nextToken" min:"8" type:"string"` - // The returned recovery point objects. - RecoveryPoints []*RecoveryPoint `locationName:"recoveryPoints" type:"list"` + // All of the returned snapshot copy configurations. + // + // SnapshotCopyConfigurations is a required field + SnapshotCopyConfigurations []*SnapshotCopyConfiguration `locationName:"snapshotCopyConfigurations" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -8097,7 +10031,7 @@ type ListRecoveryPointsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListRecoveryPointsOutput) String() string { +func (s ListSnapshotCopyConfigurationsOutput) String() string { return awsutil.Prettify(s) } @@ -8106,19 +10040,19 @@ func (s ListRecoveryPointsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListRecoveryPointsOutput) GoString() string { +func (s ListSnapshotCopyConfigurationsOutput) GoString() string { return s.String() } // SetNextToken sets the NextToken field's value. -func (s *ListRecoveryPointsOutput) SetNextToken(v string) *ListRecoveryPointsOutput { +func (s *ListSnapshotCopyConfigurationsOutput) SetNextToken(v string) *ListSnapshotCopyConfigurationsOutput { s.NextToken = &v return s } -// SetRecoveryPoints sets the RecoveryPoints field's value. -func (s *ListRecoveryPointsOutput) SetRecoveryPoints(v []*RecoveryPoint) *ListRecoveryPointsOutput { - s.RecoveryPoints = v +// SetSnapshotCopyConfigurations sets the SnapshotCopyConfigurations field's value. +func (s *ListSnapshotCopyConfigurationsOutput) SetSnapshotCopyConfigurations(v []*SnapshotCopyConfiguration) *ListSnapshotCopyConfigurationsOutput { + s.SnapshotCopyConfigurations = v return s } @@ -8597,6 +10531,10 @@ type ListWorkgroupsInput struct { // the returned nextToken in following ListNamespaces operations, which returns // results in the next page. NextToken *string `locationName:"nextToken" type:"string"` + + // The owner Amazon Web Services account for the Amazon Redshift Serverless + // workgroup. + OwnerAccount *string `locationName:"ownerAccount" min:"1" type:"string"` } // String returns the string representation. @@ -8623,6 +10561,9 @@ func (s *ListWorkgroupsInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.OwnerAccount != nil && len(*s.OwnerAccount) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OwnerAccount", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -8642,6 +10583,12 @@ func (s *ListWorkgroupsInput) SetNextToken(v string) *ListWorkgroupsInput { return s } +// SetOwnerAccount sets the OwnerAccount field's value. +func (s *ListWorkgroupsInput) SetOwnerAccount(v string) *ListWorkgroupsInput { + s.OwnerAccount = &v + return s +} + type ListWorkgroupsOutput struct { _ struct{} `type:"structure"` @@ -9338,7 +11285,186 @@ type RestoreFromSnapshotInput struct { // The name of the workgroup used to restore the snapshot. // // WorkgroupName is a required field - WorkgroupName *string `locationName:"workgroupName" min:"3" type:"string" required:"true"` + WorkgroupName *string `locationName:"workgroupName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RestoreFromSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RestoreFromSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RestoreFromSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RestoreFromSnapshotInput"} + if s.NamespaceName == nil { + invalidParams.Add(request.NewErrParamRequired("NamespaceName")) + } + if s.NamespaceName != nil && len(*s.NamespaceName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 3)) + } + if s.WorkgroupName == nil { + invalidParams.Add(request.NewErrParamRequired("WorkgroupName")) + } + if s.WorkgroupName != nil && len(*s.WorkgroupName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("WorkgroupName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdminPasswordSecretKmsKeyId sets the AdminPasswordSecretKmsKeyId field's value. +func (s *RestoreFromSnapshotInput) SetAdminPasswordSecretKmsKeyId(v string) *RestoreFromSnapshotInput { + s.AdminPasswordSecretKmsKeyId = &v + return s +} + +// SetManageAdminPassword sets the ManageAdminPassword field's value. +func (s *RestoreFromSnapshotInput) SetManageAdminPassword(v bool) *RestoreFromSnapshotInput { + s.ManageAdminPassword = &v + return s +} + +// SetNamespaceName sets the NamespaceName field's value. +func (s *RestoreFromSnapshotInput) SetNamespaceName(v string) *RestoreFromSnapshotInput { + s.NamespaceName = &v + return s +} + +// SetOwnerAccount sets the OwnerAccount field's value. +func (s *RestoreFromSnapshotInput) SetOwnerAccount(v string) *RestoreFromSnapshotInput { + s.OwnerAccount = &v + return s +} + +// SetSnapshotArn sets the SnapshotArn field's value. +func (s *RestoreFromSnapshotInput) SetSnapshotArn(v string) *RestoreFromSnapshotInput { + s.SnapshotArn = &v + return s +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *RestoreFromSnapshotInput) SetSnapshotName(v string) *RestoreFromSnapshotInput { + s.SnapshotName = &v + return s +} + +// SetWorkgroupName sets the WorkgroupName field's value. +func (s *RestoreFromSnapshotInput) SetWorkgroupName(v string) *RestoreFromSnapshotInput { + s.WorkgroupName = &v + return s +} + +type RestoreFromSnapshotOutput struct { + _ struct{} `type:"structure"` + + // A collection of database objects and users. + Namespace *Namespace `locationName:"namespace" type:"structure"` + + // The owner Amazon Web Services; account of the snapshot that was restored. + OwnerAccount *string `locationName:"ownerAccount" type:"string"` + + // The name of the snapshot used to restore the namespace. + SnapshotName *string `locationName:"snapshotName" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RestoreFromSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RestoreFromSnapshotOutput) GoString() string { + return s.String() +} + +// SetNamespace sets the Namespace field's value. +func (s *RestoreFromSnapshotOutput) SetNamespace(v *Namespace) *RestoreFromSnapshotOutput { + s.Namespace = v + return s +} + +// SetOwnerAccount sets the OwnerAccount field's value. +func (s *RestoreFromSnapshotOutput) SetOwnerAccount(v string) *RestoreFromSnapshotOutput { + s.OwnerAccount = &v + return s +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *RestoreFromSnapshotOutput) SetSnapshotName(v string) *RestoreFromSnapshotOutput { + s.SnapshotName = &v + return s +} + +type RestoreTableFromRecoveryPointInput struct { + _ struct{} `type:"structure"` + + // 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. + ActivateCaseSensitiveIdentifier *bool `locationName:"activateCaseSensitiveIdentifier" type:"boolean"` + + // Namespace of the recovery point to restore from. + // + // NamespaceName is a required field + NamespaceName *string `locationName:"namespaceName" type:"string" required:"true"` + + // The name of the table to create from the restore operation. + // + // NewTableName is a required field + NewTableName *string `locationName:"newTableName" type:"string" required:"true"` + + // The ID of the recovery point to restore the table from. + // + // RecoveryPointId is a required field + RecoveryPointId *string `locationName:"recoveryPointId" type:"string" required:"true"` + + // The name of the source database that contains the table being restored. + // + // SourceDatabaseName is a required field + SourceDatabaseName *string `locationName:"sourceDatabaseName" type:"string" required:"true"` + + // The name of the source schema that contains the table being restored. + SourceSchemaName *string `locationName:"sourceSchemaName" type:"string"` + + // The name of the source table being restored. + // + // SourceTableName is a required field + SourceTableName *string `locationName:"sourceTableName" type:"string" required:"true"` + + // The name of the database to restore the table to. + TargetDatabaseName *string `locationName:"targetDatabaseName" type:"string"` + + // The name of the schema to restore the table to. + TargetSchemaName *string `locationName:"targetSchemaName" type:"string"` + + // The workgroup to restore the table to. + // + // WorkgroupName is a required field + WorkgroupName *string `locationName:"workgroupName" type:"string" required:"true"` } // String returns the string representation. @@ -9346,7 +11472,7 @@ type RestoreFromSnapshotInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RestoreFromSnapshotInput) String() string { +func (s RestoreTableFromRecoveryPointInput) String() string { return awsutil.Prettify(s) } @@ -9355,25 +11481,31 @@ func (s RestoreFromSnapshotInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RestoreFromSnapshotInput) GoString() string { +func (s RestoreTableFromRecoveryPointInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RestoreFromSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RestoreFromSnapshotInput"} +func (s *RestoreTableFromRecoveryPointInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RestoreTableFromRecoveryPointInput"} if s.NamespaceName == nil { invalidParams.Add(request.NewErrParamRequired("NamespaceName")) } - if s.NamespaceName != nil && len(*s.NamespaceName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("NamespaceName", 3)) + if s.NewTableName == nil { + invalidParams.Add(request.NewErrParamRequired("NewTableName")) + } + if s.RecoveryPointId == nil { + invalidParams.Add(request.NewErrParamRequired("RecoveryPointId")) + } + if s.SourceDatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("SourceDatabaseName")) + } + if s.SourceTableName == nil { + invalidParams.Add(request.NewErrParamRequired("SourceTableName")) } if s.WorkgroupName == nil { invalidParams.Add(request.NewErrParamRequired("WorkgroupName")) } - if s.WorkgroupName != nil && len(*s.WorkgroupName) < 3 { - invalidParams.Add(request.NewErrParamMinLen("WorkgroupName", 3)) - } if invalidParams.Len() > 0 { return invalidParams @@ -9381,59 +11513,71 @@ func (s *RestoreFromSnapshotInput) Validate() error { return nil } -// SetAdminPasswordSecretKmsKeyId sets the AdminPasswordSecretKmsKeyId field's value. -func (s *RestoreFromSnapshotInput) SetAdminPasswordSecretKmsKeyId(v string) *RestoreFromSnapshotInput { - s.AdminPasswordSecretKmsKeyId = &v +// SetActivateCaseSensitiveIdentifier sets the ActivateCaseSensitiveIdentifier field's value. +func (s *RestoreTableFromRecoveryPointInput) SetActivateCaseSensitiveIdentifier(v bool) *RestoreTableFromRecoveryPointInput { + s.ActivateCaseSensitiveIdentifier = &v return s } -// SetManageAdminPassword sets the ManageAdminPassword field's value. -func (s *RestoreFromSnapshotInput) SetManageAdminPassword(v bool) *RestoreFromSnapshotInput { - s.ManageAdminPassword = &v +// SetNamespaceName sets the NamespaceName field's value. +func (s *RestoreTableFromRecoveryPointInput) SetNamespaceName(v string) *RestoreTableFromRecoveryPointInput { + s.NamespaceName = &v return s } -// SetNamespaceName sets the NamespaceName field's value. -func (s *RestoreFromSnapshotInput) SetNamespaceName(v string) *RestoreFromSnapshotInput { - s.NamespaceName = &v +// SetNewTableName sets the NewTableName field's value. +func (s *RestoreTableFromRecoveryPointInput) SetNewTableName(v string) *RestoreTableFromRecoveryPointInput { + s.NewTableName = &v return s } -// SetOwnerAccount sets the OwnerAccount field's value. -func (s *RestoreFromSnapshotInput) SetOwnerAccount(v string) *RestoreFromSnapshotInput { - s.OwnerAccount = &v +// SetRecoveryPointId sets the RecoveryPointId field's value. +func (s *RestoreTableFromRecoveryPointInput) SetRecoveryPointId(v string) *RestoreTableFromRecoveryPointInput { + s.RecoveryPointId = &v return s } -// SetSnapshotArn sets the SnapshotArn field's value. -func (s *RestoreFromSnapshotInput) SetSnapshotArn(v string) *RestoreFromSnapshotInput { - s.SnapshotArn = &v +// SetSourceDatabaseName sets the SourceDatabaseName field's value. +func (s *RestoreTableFromRecoveryPointInput) SetSourceDatabaseName(v string) *RestoreTableFromRecoveryPointInput { + s.SourceDatabaseName = &v return s } -// SetSnapshotName sets the SnapshotName field's value. -func (s *RestoreFromSnapshotInput) SetSnapshotName(v string) *RestoreFromSnapshotInput { - s.SnapshotName = &v +// SetSourceSchemaName sets the SourceSchemaName field's value. +func (s *RestoreTableFromRecoveryPointInput) SetSourceSchemaName(v string) *RestoreTableFromRecoveryPointInput { + s.SourceSchemaName = &v + return s +} + +// SetSourceTableName sets the SourceTableName field's value. +func (s *RestoreTableFromRecoveryPointInput) SetSourceTableName(v string) *RestoreTableFromRecoveryPointInput { + s.SourceTableName = &v + return s +} + +// SetTargetDatabaseName sets the TargetDatabaseName field's value. +func (s *RestoreTableFromRecoveryPointInput) SetTargetDatabaseName(v string) *RestoreTableFromRecoveryPointInput { + s.TargetDatabaseName = &v + return s +} + +// SetTargetSchemaName sets the TargetSchemaName field's value. +func (s *RestoreTableFromRecoveryPointInput) SetTargetSchemaName(v string) *RestoreTableFromRecoveryPointInput { + s.TargetSchemaName = &v return s } // SetWorkgroupName sets the WorkgroupName field's value. -func (s *RestoreFromSnapshotInput) SetWorkgroupName(v string) *RestoreFromSnapshotInput { +func (s *RestoreTableFromRecoveryPointInput) SetWorkgroupName(v string) *RestoreTableFromRecoveryPointInput { s.WorkgroupName = &v return s } -type RestoreFromSnapshotOutput struct { +type RestoreTableFromRecoveryPointOutput struct { _ struct{} `type:"structure"` - // A collection of database objects and users. - Namespace *Namespace `locationName:"namespace" type:"structure"` - - // The owner Amazon Web Services; account of the snapshot that was restored. - OwnerAccount *string `locationName:"ownerAccount" type:"string"` - - // The name of the snapshot used to restore the namespace. - SnapshotName *string `locationName:"snapshotName" type:"string"` + // Contains information about a table restore request. + TableRestoreStatus *TableRestoreStatus `locationName:"tableRestoreStatus" type:"structure"` } // String returns the string representation. @@ -9441,7 +11585,7 @@ type RestoreFromSnapshotOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RestoreFromSnapshotOutput) String() string { +func (s RestoreTableFromRecoveryPointOutput) String() string { return awsutil.Prettify(s) } @@ -9450,25 +11594,13 @@ func (s RestoreFromSnapshotOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s RestoreFromSnapshotOutput) GoString() string { +func (s RestoreTableFromRecoveryPointOutput) GoString() string { return s.String() } -// SetNamespace sets the Namespace field's value. -func (s *RestoreFromSnapshotOutput) SetNamespace(v *Namespace) *RestoreFromSnapshotOutput { - s.Namespace = v - return s -} - -// SetOwnerAccount sets the OwnerAccount field's value. -func (s *RestoreFromSnapshotOutput) SetOwnerAccount(v string) *RestoreFromSnapshotOutput { - s.OwnerAccount = &v - return s -} - -// SetSnapshotName sets the SnapshotName field's value. -func (s *RestoreFromSnapshotOutput) SetSnapshotName(v string) *RestoreFromSnapshotOutput { - s.SnapshotName = &v +// SetTableRestoreStatus sets the TableRestoreStatus field's value. +func (s *RestoreTableFromRecoveryPointOutput) SetTableRestoreStatus(v *TableRestoreStatus) *RestoreTableFromRecoveryPointOutput { + s.TableRestoreStatus = v return s } @@ -9657,6 +11789,199 @@ func (s *RestoreTableFromSnapshotOutput) SetTableRestoreStatus(v *TableRestoreSt return s } +// The schedule of when Amazon Redshift Serverless should run the scheduled +// action. +type Schedule struct { + _ struct{} `type:"structure"` + + // 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)". + At *time.Time `locationName:"at" type:"timestamp"` + + // 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 (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. + Cron *string `locationName:"cron" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Schedule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Schedule) GoString() string { + return s.String() +} + +// SetAt sets the At field's value. +func (s *Schedule) SetAt(v time.Time) *Schedule { + s.At = &v + return s +} + +// SetCron sets the Cron field's value. +func (s *Schedule) SetCron(v string) *Schedule { + s.Cron = &v + return s +} + +// The returned scheduled action object. +type ScheduledActionResponse struct { + _ struct{} `type:"structure"` + + // The end time of + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The end time in UTC when the schedule is no longer active. After this time, + // the scheduled action does not trigger. + NamespaceName *string `locationName:"namespaceName" min:"3" type:"string"` + + // An array of timestamps of when the next scheduled actions will trigger. + NextInvocations []*time.Time `locationName:"nextInvocations" type:"list"` + + // 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 (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) + // in the Amazon Redshift Cluster Management Guide + RoleArn *string `locationName:"roleArn" type:"string"` + + // 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 (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. + Schedule *Schedule `locationName:"schedule" type:"structure"` + + // The description of the scheduled action. + ScheduledActionDescription *string `locationName:"scheduledActionDescription" type:"string"` + + // The name of the scheduled action. + ScheduledActionName *string `locationName:"scheduledActionName" min:"3" type:"string"` + + // The uuid of the scheduled action. + ScheduledActionUuid *string `locationName:"scheduledActionUuid" type:"string"` + + // The start time in UTC when the schedule is active. Before this time, the + // scheduled action does not trigger. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // The state of the scheduled action. + State *string `locationName:"state" type:"string" enum:"State"` + + // 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"}}" + TargetAction *TargetAction `locationName:"targetAction" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ScheduledActionResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ScheduledActionResponse) GoString() string { + return s.String() +} + +// SetEndTime sets the EndTime field's value. +func (s *ScheduledActionResponse) SetEndTime(v time.Time) *ScheduledActionResponse { + s.EndTime = &v + return s +} + +// SetNamespaceName sets the NamespaceName field's value. +func (s *ScheduledActionResponse) SetNamespaceName(v string) *ScheduledActionResponse { + s.NamespaceName = &v + return s +} + +// SetNextInvocations sets the NextInvocations field's value. +func (s *ScheduledActionResponse) SetNextInvocations(v []*time.Time) *ScheduledActionResponse { + s.NextInvocations = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *ScheduledActionResponse) SetRoleArn(v string) *ScheduledActionResponse { + s.RoleArn = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *ScheduledActionResponse) SetSchedule(v *Schedule) *ScheduledActionResponse { + s.Schedule = v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *ScheduledActionResponse) SetScheduledActionDescription(v string) *ScheduledActionResponse { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *ScheduledActionResponse) SetScheduledActionName(v string) *ScheduledActionResponse { + s.ScheduledActionName = &v + return s +} + +// SetScheduledActionUuid sets the ScheduledActionUuid field's value. +func (s *ScheduledActionResponse) SetScheduledActionUuid(v string) *ScheduledActionResponse { + s.ScheduledActionUuid = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *ScheduledActionResponse) SetStartTime(v time.Time) *ScheduledActionResponse { + s.StartTime = &v + return s +} + +// SetState sets the State field's value. +func (s *ScheduledActionResponse) SetState(v string) *ScheduledActionResponse { + s.State = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *ScheduledActionResponse) SetTargetAction(v *TargetAction) *ScheduledActionResponse { + s.TargetAction = v + return s +} + // The service limit was exceeded. type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` @@ -9899,51 +12224,132 @@ func (s *Snapshot) SetOwnerAccount(v string) *Snapshot { return s } -// SetSnapshotArn sets the SnapshotArn field's value. -func (s *Snapshot) SetSnapshotArn(v string) *Snapshot { - s.SnapshotArn = &v - return s +// SetSnapshotArn sets the SnapshotArn field's value. +func (s *Snapshot) SetSnapshotArn(v string) *Snapshot { + s.SnapshotArn = &v + return s +} + +// SetSnapshotCreateTime sets the SnapshotCreateTime field's value. +func (s *Snapshot) SetSnapshotCreateTime(v time.Time) *Snapshot { + s.SnapshotCreateTime = &v + return s +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *Snapshot) SetSnapshotName(v string) *Snapshot { + s.SnapshotName = &v + return s +} + +// SetSnapshotRemainingDays sets the SnapshotRemainingDays field's value. +func (s *Snapshot) SetSnapshotRemainingDays(v int64) *Snapshot { + s.SnapshotRemainingDays = &v + return s +} + +// SetSnapshotRetentionPeriod sets the SnapshotRetentionPeriod field's value. +func (s *Snapshot) SetSnapshotRetentionPeriod(v int64) *Snapshot { + s.SnapshotRetentionPeriod = &v + return s +} + +// SetSnapshotRetentionStartTime sets the SnapshotRetentionStartTime field's value. +func (s *Snapshot) SetSnapshotRetentionStartTime(v time.Time) *Snapshot { + s.SnapshotRetentionStartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Snapshot) SetStatus(v string) *Snapshot { + s.Status = &v + return s +} + +// SetTotalBackupSizeInMegaBytes sets the TotalBackupSizeInMegaBytes field's value. +func (s *Snapshot) SetTotalBackupSizeInMegaBytes(v float64) *Snapshot { + s.TotalBackupSizeInMegaBytes = &v + return s +} + +// The object that you configure to copy snapshots from one namespace to a namespace +// in another Amazon Web Services Region. +type SnapshotCopyConfiguration struct { + _ struct{} `type:"structure"` + + // The ID of the KMS key to use to encrypt your snapshots in the destination + // Amazon Web Services Region. + DestinationKmsKeyId *string `locationName:"destinationKmsKeyId" type:"string"` + + // The destination Amazon Web Services Region to copy snapshots to. + DestinationRegion *string `locationName:"destinationRegion" type:"string"` + + // The name of the namespace to copy snapshots from in the source Amazon Web + // Services Region. + NamespaceName *string `locationName:"namespaceName" min:"3" type:"string"` + + // The ARN of the snapshot copy configuration object. + SnapshotCopyConfigurationArn *string `locationName:"snapshotCopyConfigurationArn" type:"string"` + + // The ID of the snapshot copy configuration object. + SnapshotCopyConfigurationId *string `locationName:"snapshotCopyConfigurationId" type:"string"` + + // The retention period of snapshots that are copied to the destination Amazon + // Web Services Region. + SnapshotRetentionPeriod *int64 `locationName:"snapshotRetentionPeriod" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SnapshotCopyConfiguration) String() string { + return awsutil.Prettify(s) } -// SetSnapshotCreateTime sets the SnapshotCreateTime field's value. -func (s *Snapshot) SetSnapshotCreateTime(v time.Time) *Snapshot { - s.SnapshotCreateTime = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SnapshotCopyConfiguration) GoString() string { + return s.String() } -// SetSnapshotName sets the SnapshotName field's value. -func (s *Snapshot) SetSnapshotName(v string) *Snapshot { - s.SnapshotName = &v +// SetDestinationKmsKeyId sets the DestinationKmsKeyId field's value. +func (s *SnapshotCopyConfiguration) SetDestinationKmsKeyId(v string) *SnapshotCopyConfiguration { + s.DestinationKmsKeyId = &v return s } -// SetSnapshotRemainingDays sets the SnapshotRemainingDays field's value. -func (s *Snapshot) SetSnapshotRemainingDays(v int64) *Snapshot { - s.SnapshotRemainingDays = &v +// SetDestinationRegion sets the DestinationRegion field's value. +func (s *SnapshotCopyConfiguration) SetDestinationRegion(v string) *SnapshotCopyConfiguration { + s.DestinationRegion = &v return s } -// SetSnapshotRetentionPeriod sets the SnapshotRetentionPeriod field's value. -func (s *Snapshot) SetSnapshotRetentionPeriod(v int64) *Snapshot { - s.SnapshotRetentionPeriod = &v +// SetNamespaceName sets the NamespaceName field's value. +func (s *SnapshotCopyConfiguration) SetNamespaceName(v string) *SnapshotCopyConfiguration { + s.NamespaceName = &v return s } -// SetSnapshotRetentionStartTime sets the SnapshotRetentionStartTime field's value. -func (s *Snapshot) SetSnapshotRetentionStartTime(v time.Time) *Snapshot { - s.SnapshotRetentionStartTime = &v +// SetSnapshotCopyConfigurationArn sets the SnapshotCopyConfigurationArn field's value. +func (s *SnapshotCopyConfiguration) SetSnapshotCopyConfigurationArn(v string) *SnapshotCopyConfiguration { + s.SnapshotCopyConfigurationArn = &v return s } -// SetStatus sets the Status field's value. -func (s *Snapshot) SetStatus(v string) *Snapshot { - s.Status = &v +// SetSnapshotCopyConfigurationId sets the SnapshotCopyConfigurationId field's value. +func (s *SnapshotCopyConfiguration) SetSnapshotCopyConfigurationId(v string) *SnapshotCopyConfiguration { + s.SnapshotCopyConfigurationId = &v return s } -// SetTotalBackupSizeInMegaBytes sets the TotalBackupSizeInMegaBytes field's value. -func (s *Snapshot) SetTotalBackupSizeInMegaBytes(v float64) *Snapshot { - s.TotalBackupSizeInMegaBytes = &v +// SetSnapshotRetentionPeriod sets the SnapshotRetentionPeriod field's value. +func (s *SnapshotCopyConfiguration) SetSnapshotRetentionPeriod(v int64) *SnapshotCopyConfiguration { + s.SnapshotRetentionPeriod = &v return s } @@ -9951,8 +12357,8 @@ func (s *Snapshot) SetTotalBackupSizeInMegaBytes(v float64) *Snapshot { type TableRestoreStatus struct { _ struct{} `type:"structure"` - // 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. Message *string `locationName:"message" type:"string"` // The namespace of the table being restored from. @@ -9964,6 +12370,9 @@ type TableRestoreStatus struct { // The amount of data restored to the new table so far, in megabytes (MB). ProgressInMegaBytes *int64 `locationName:"progressInMegaBytes" type:"long"` + // The ID of the recovery point being restored from. + RecoveryPointId *string `locationName:"recoveryPointId" type:"string"` + // The time that the table restore request was made, in Universal Coordinated // Time (UTC). RequestTime *time.Time `locationName:"requestTime" type:"timestamp"` @@ -9981,7 +12390,7 @@ type TableRestoreStatus struct { SourceTableName *string `locationName:"sourceTableName" type:"string"` // A value that describes the current state of the table restore request. Possible - // values include SUCCEEDED, FAILED, CANCELED, PENDING, IN_PROGRESS. + // values are SUCCEEDED, FAILED, CANCELED, PENDING, and IN_PROGRESS. Status *string `locationName:"status" type:"string"` // The ID of the RestoreTableFromSnapshot request. @@ -10042,6 +12451,12 @@ func (s *TableRestoreStatus) SetProgressInMegaBytes(v int64) *TableRestoreStatus return s } +// SetRecoveryPointId sets the RecoveryPointId field's value. +func (s *TableRestoreStatus) SetRecoveryPointId(v string) *TableRestoreStatus { + s.RecoveryPointId = &v + return s +} + // SetRequestTime sets the RequestTime field's value. func (s *TableRestoreStatus) SetRequestTime(v time.Time) *TableRestoreStatus { s.RequestTime = &v @@ -10267,6 +12682,59 @@ func (s TagResourceOutput) GoString() string { return s.String() } +// 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"}}" +type TargetAction struct { + _ struct{} `type:"structure"` + + // The parameters that you can use to configure a scheduled action (https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_CreateScheduledAction.html) + // to create a snapshot. For more information about creating a scheduled action, + // see CreateScheduledAction (https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_CreateScheduledAction.html). + CreateSnapshot *CreateSnapshotScheduleActionParameters `locationName:"createSnapshot" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TargetAction) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TargetAction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TargetAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TargetAction"} + if s.CreateSnapshot != nil { + if err := s.CreateSnapshot.Validate(); err != nil { + invalidParams.AddNested("CreateSnapshot", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreateSnapshot sets the CreateSnapshot field's value. +func (s *TargetAction) SetCreateSnapshot(v *CreateSnapshotScheduleActionParameters) *TargetAction { + s.CreateSnapshot = v + return s +} + // The request was denied due to request throttling. type ThrottlingException struct { _ struct{} `type:"structure"` @@ -10890,6 +13358,262 @@ func (s *UpdateNamespaceOutput) SetNamespace(v *Namespace) *UpdateNamespaceOutpu return s } +type UpdateScheduledActionInput struct { + _ struct{} `type:"structure"` + + // Specifies whether to enable the scheduled action. + Enabled *bool `locationName:"enabled" type:"boolean"` + + // The end time in UTC of the scheduled action to update. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // 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 (https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-identity-based.html) + // in the Amazon Redshift Cluster Management Guide + RoleArn *string `locationName:"roleArn" type:"string"` + + // 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 (https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions) + // in the Amazon CloudWatch Events User Guide. + Schedule *Schedule `locationName:"schedule" type:"structure"` + + // The descripion of the scheduled action to update to. + ScheduledActionDescription *string `locationName:"scheduledActionDescription" type:"string"` + + // The name of the scheduled action to update to. + // + // ScheduledActionName is a required field + ScheduledActionName *string `locationName:"scheduledActionName" min:"3" type:"string" required:"true"` + + // The start time in UTC of the scheduled action to update to. + StartTime *time.Time `locationName:"startTime" type:"timestamp"` + + // 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"}}" + TargetAction *TargetAction `locationName:"targetAction" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateScheduledActionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateScheduledActionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateScheduledActionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateScheduledActionInput"} + if s.ScheduledActionName == nil { + invalidParams.Add(request.NewErrParamRequired("ScheduledActionName")) + } + if s.ScheduledActionName != nil && len(*s.ScheduledActionName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ScheduledActionName", 3)) + } + if s.TargetAction != nil { + if err := s.TargetAction.Validate(); err != nil { + invalidParams.AddNested("TargetAction", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *UpdateScheduledActionInput) SetEnabled(v bool) *UpdateScheduledActionInput { + s.Enabled = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *UpdateScheduledActionInput) SetEndTime(v time.Time) *UpdateScheduledActionInput { + s.EndTime = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *UpdateScheduledActionInput) SetRoleArn(v string) *UpdateScheduledActionInput { + s.RoleArn = &v + return s +} + +// SetSchedule sets the Schedule field's value. +func (s *UpdateScheduledActionInput) SetSchedule(v *Schedule) *UpdateScheduledActionInput { + s.Schedule = v + return s +} + +// SetScheduledActionDescription sets the ScheduledActionDescription field's value. +func (s *UpdateScheduledActionInput) SetScheduledActionDescription(v string) *UpdateScheduledActionInput { + s.ScheduledActionDescription = &v + return s +} + +// SetScheduledActionName sets the ScheduledActionName field's value. +func (s *UpdateScheduledActionInput) SetScheduledActionName(v string) *UpdateScheduledActionInput { + s.ScheduledActionName = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *UpdateScheduledActionInput) SetStartTime(v time.Time) *UpdateScheduledActionInput { + s.StartTime = &v + return s +} + +// SetTargetAction sets the TargetAction field's value. +func (s *UpdateScheduledActionInput) SetTargetAction(v *TargetAction) *UpdateScheduledActionInput { + s.TargetAction = v + return s +} + +type UpdateScheduledActionOutput struct { + _ struct{} `type:"structure"` + + // The ScheduledAction object that was updated. + ScheduledAction *ScheduledActionResponse `locationName:"scheduledAction" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateScheduledActionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateScheduledActionOutput) GoString() string { + return s.String() +} + +// SetScheduledAction sets the ScheduledAction field's value. +func (s *UpdateScheduledActionOutput) SetScheduledAction(v *ScheduledActionResponse) *UpdateScheduledActionOutput { + s.ScheduledAction = v + return s +} + +type UpdateSnapshotCopyConfigurationInput struct { + _ struct{} `type:"structure"` + + // The ID of the snapshot copy configuration to update. + // + // SnapshotCopyConfigurationId is a required field + SnapshotCopyConfigurationId *string `locationName:"snapshotCopyConfigurationId" type:"string" required:"true"` + + // The new retention period of how long to keep a snapshot in the destination + // Amazon Web Services Region. + SnapshotRetentionPeriod *int64 `locationName:"snapshotRetentionPeriod" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSnapshotCopyConfigurationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSnapshotCopyConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSnapshotCopyConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSnapshotCopyConfigurationInput"} + if s.SnapshotCopyConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotCopyConfigurationId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSnapshotCopyConfigurationId sets the SnapshotCopyConfigurationId field's value. +func (s *UpdateSnapshotCopyConfigurationInput) SetSnapshotCopyConfigurationId(v string) *UpdateSnapshotCopyConfigurationInput { + s.SnapshotCopyConfigurationId = &v + return s +} + +// SetSnapshotRetentionPeriod sets the SnapshotRetentionPeriod field's value. +func (s *UpdateSnapshotCopyConfigurationInput) SetSnapshotRetentionPeriod(v int64) *UpdateSnapshotCopyConfigurationInput { + s.SnapshotRetentionPeriod = &v + return s +} + +type UpdateSnapshotCopyConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The updated snapshot copy configuration object. + // + // SnapshotCopyConfiguration is a required field + SnapshotCopyConfiguration *SnapshotCopyConfiguration `locationName:"snapshotCopyConfiguration" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSnapshotCopyConfigurationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateSnapshotCopyConfigurationOutput) GoString() string { + return s.String() +} + +// SetSnapshotCopyConfiguration sets the SnapshotCopyConfiguration field's value. +func (s *UpdateSnapshotCopyConfigurationOutput) SetSnapshotCopyConfiguration(v *SnapshotCopyConfiguration) *UpdateSnapshotCopyConfigurationOutput { + s.SnapshotCopyConfiguration = v + return s +} + type UpdateSnapshotInput struct { _ struct{} `type:"structure"` @@ -11081,7 +13805,7 @@ type UpdateWorkgroupInput struct { BaseCapacity *int64 `locationName:"baseCapacity" type:"integer"` // 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, + // 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 @@ -11496,8 +14220,8 @@ type Workgroup struct { BaseCapacity *int64 `locationName:"baseCapacity" type:"integer"` // 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 + // 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 // (https://docs.aws.amazon.com/redshift/latest/dg/cm-c-wlm-query-monitoring-rules.html#cm-c-wlm-query-monitoring-metrics-serverless). @@ -11506,6 +14230,11 @@ type Workgroup struct { // The creation date of the workgroup. CreationDate *time.Time `locationName:"creationDate" type:"timestamp" timestampFormat:"iso8601"` + // 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. + CrossAccountVpcs []*string `locationName:"crossAccountVpcs" type:"list"` + // The custom domain name’s certificate Amazon resource name (ARN). CustomDomainCertificateArn *string `locationName:"customDomainCertificateArn" min:"20" type:"string"` @@ -11603,6 +14332,12 @@ func (s *Workgroup) SetCreationDate(v time.Time) *Workgroup { return s } +// SetCrossAccountVpcs sets the CrossAccountVpcs field's value. +func (s *Workgroup) SetCrossAccountVpcs(v []*string) *Workgroup { + s.CrossAccountVpcs = v + return s +} + // SetCustomDomainCertificateArn sets the CustomDomainCertificateArn field's value. func (s *Workgroup) SetCustomDomainCertificateArn(v string) *Workgroup { s.CustomDomainCertificateArn = &v @@ -11777,6 +14512,22 @@ func SnapshotStatus_Values() []string { } } +const ( + // StateActive is a State enum value + StateActive = "ACTIVE" + + // StateDisabled is a State enum value + StateDisabled = "DISABLED" +) + +// State_Values returns all elements of the State enum +func State_Values() []string { + return []string{ + StateActive, + StateDisabled, + } +} + const ( // UsageLimitBreachActionLog is a UsageLimitBreachAction enum value UsageLimitBreachActionLog = "log" diff --git a/service/redshiftserverless/redshiftserverlessiface/interface.go b/service/redshiftserverless/redshiftserverlessiface/interface.go index 2e963e805b0..5410dd5c09b 100644 --- a/service/redshiftserverless/redshiftserverlessiface/interface.go +++ b/service/redshiftserverless/redshiftserverlessiface/interface.go @@ -76,10 +76,18 @@ type RedshiftServerlessAPI interface { CreateNamespaceWithContext(aws.Context, *redshiftserverless.CreateNamespaceInput, ...request.Option) (*redshiftserverless.CreateNamespaceOutput, error) CreateNamespaceRequest(*redshiftserverless.CreateNamespaceInput) (*request.Request, *redshiftserverless.CreateNamespaceOutput) + CreateScheduledAction(*redshiftserverless.CreateScheduledActionInput) (*redshiftserverless.CreateScheduledActionOutput, error) + CreateScheduledActionWithContext(aws.Context, *redshiftserverless.CreateScheduledActionInput, ...request.Option) (*redshiftserverless.CreateScheduledActionOutput, error) + CreateScheduledActionRequest(*redshiftserverless.CreateScheduledActionInput) (*request.Request, *redshiftserverless.CreateScheduledActionOutput) + CreateSnapshot(*redshiftserverless.CreateSnapshotInput) (*redshiftserverless.CreateSnapshotOutput, error) CreateSnapshotWithContext(aws.Context, *redshiftserverless.CreateSnapshotInput, ...request.Option) (*redshiftserverless.CreateSnapshotOutput, error) CreateSnapshotRequest(*redshiftserverless.CreateSnapshotInput) (*request.Request, *redshiftserverless.CreateSnapshotOutput) + CreateSnapshotCopyConfiguration(*redshiftserverless.CreateSnapshotCopyConfigurationInput) (*redshiftserverless.CreateSnapshotCopyConfigurationOutput, error) + CreateSnapshotCopyConfigurationWithContext(aws.Context, *redshiftserverless.CreateSnapshotCopyConfigurationInput, ...request.Option) (*redshiftserverless.CreateSnapshotCopyConfigurationOutput, error) + CreateSnapshotCopyConfigurationRequest(*redshiftserverless.CreateSnapshotCopyConfigurationInput) (*request.Request, *redshiftserverless.CreateSnapshotCopyConfigurationOutput) + CreateUsageLimit(*redshiftserverless.CreateUsageLimitInput) (*redshiftserverless.CreateUsageLimitOutput, error) CreateUsageLimitWithContext(aws.Context, *redshiftserverless.CreateUsageLimitInput, ...request.Option) (*redshiftserverless.CreateUsageLimitOutput, error) CreateUsageLimitRequest(*redshiftserverless.CreateUsageLimitInput) (*request.Request, *redshiftserverless.CreateUsageLimitOutput) @@ -104,10 +112,18 @@ type RedshiftServerlessAPI interface { DeleteResourcePolicyWithContext(aws.Context, *redshiftserverless.DeleteResourcePolicyInput, ...request.Option) (*redshiftserverless.DeleteResourcePolicyOutput, error) DeleteResourcePolicyRequest(*redshiftserverless.DeleteResourcePolicyInput) (*request.Request, *redshiftserverless.DeleteResourcePolicyOutput) + DeleteScheduledAction(*redshiftserverless.DeleteScheduledActionInput) (*redshiftserverless.DeleteScheduledActionOutput, error) + DeleteScheduledActionWithContext(aws.Context, *redshiftserverless.DeleteScheduledActionInput, ...request.Option) (*redshiftserverless.DeleteScheduledActionOutput, error) + DeleteScheduledActionRequest(*redshiftserverless.DeleteScheduledActionInput) (*request.Request, *redshiftserverless.DeleteScheduledActionOutput) + DeleteSnapshot(*redshiftserverless.DeleteSnapshotInput) (*redshiftserverless.DeleteSnapshotOutput, error) DeleteSnapshotWithContext(aws.Context, *redshiftserverless.DeleteSnapshotInput, ...request.Option) (*redshiftserverless.DeleteSnapshotOutput, error) DeleteSnapshotRequest(*redshiftserverless.DeleteSnapshotInput) (*request.Request, *redshiftserverless.DeleteSnapshotOutput) + DeleteSnapshotCopyConfiguration(*redshiftserverless.DeleteSnapshotCopyConfigurationInput) (*redshiftserverless.DeleteSnapshotCopyConfigurationOutput, error) + DeleteSnapshotCopyConfigurationWithContext(aws.Context, *redshiftserverless.DeleteSnapshotCopyConfigurationInput, ...request.Option) (*redshiftserverless.DeleteSnapshotCopyConfigurationOutput, error) + DeleteSnapshotCopyConfigurationRequest(*redshiftserverless.DeleteSnapshotCopyConfigurationInput) (*request.Request, *redshiftserverless.DeleteSnapshotCopyConfigurationOutput) + DeleteUsageLimit(*redshiftserverless.DeleteUsageLimitInput) (*redshiftserverless.DeleteUsageLimitOutput, error) DeleteUsageLimitWithContext(aws.Context, *redshiftserverless.DeleteUsageLimitInput, ...request.Option) (*redshiftserverless.DeleteUsageLimitOutput, error) DeleteUsageLimitRequest(*redshiftserverless.DeleteUsageLimitInput) (*request.Request, *redshiftserverless.DeleteUsageLimitOutput) @@ -140,6 +156,10 @@ type RedshiftServerlessAPI interface { GetResourcePolicyWithContext(aws.Context, *redshiftserverless.GetResourcePolicyInput, ...request.Option) (*redshiftserverless.GetResourcePolicyOutput, error) GetResourcePolicyRequest(*redshiftserverless.GetResourcePolicyInput) (*request.Request, *redshiftserverless.GetResourcePolicyOutput) + GetScheduledAction(*redshiftserverless.GetScheduledActionInput) (*redshiftserverless.GetScheduledActionOutput, error) + GetScheduledActionWithContext(aws.Context, *redshiftserverless.GetScheduledActionInput, ...request.Option) (*redshiftserverless.GetScheduledActionOutput, error) + GetScheduledActionRequest(*redshiftserverless.GetScheduledActionInput) (*request.Request, *redshiftserverless.GetScheduledActionOutput) + GetSnapshot(*redshiftserverless.GetSnapshotInput) (*redshiftserverless.GetSnapshotOutput, error) GetSnapshotWithContext(aws.Context, *redshiftserverless.GetSnapshotInput, ...request.Option) (*redshiftserverless.GetSnapshotOutput, error) GetSnapshotRequest(*redshiftserverless.GetSnapshotInput) (*request.Request, *redshiftserverless.GetSnapshotOutput) @@ -184,6 +204,20 @@ type RedshiftServerlessAPI interface { ListRecoveryPointsPages(*redshiftserverless.ListRecoveryPointsInput, func(*redshiftserverless.ListRecoveryPointsOutput, bool) bool) error ListRecoveryPointsPagesWithContext(aws.Context, *redshiftserverless.ListRecoveryPointsInput, func(*redshiftserverless.ListRecoveryPointsOutput, bool) bool, ...request.Option) error + ListScheduledActions(*redshiftserverless.ListScheduledActionsInput) (*redshiftserverless.ListScheduledActionsOutput, error) + ListScheduledActionsWithContext(aws.Context, *redshiftserverless.ListScheduledActionsInput, ...request.Option) (*redshiftserverless.ListScheduledActionsOutput, error) + ListScheduledActionsRequest(*redshiftserverless.ListScheduledActionsInput) (*request.Request, *redshiftserverless.ListScheduledActionsOutput) + + ListScheduledActionsPages(*redshiftserverless.ListScheduledActionsInput, func(*redshiftserverless.ListScheduledActionsOutput, bool) bool) error + ListScheduledActionsPagesWithContext(aws.Context, *redshiftserverless.ListScheduledActionsInput, func(*redshiftserverless.ListScheduledActionsOutput, bool) bool, ...request.Option) error + + ListSnapshotCopyConfigurations(*redshiftserverless.ListSnapshotCopyConfigurationsInput) (*redshiftserverless.ListSnapshotCopyConfigurationsOutput, error) + ListSnapshotCopyConfigurationsWithContext(aws.Context, *redshiftserverless.ListSnapshotCopyConfigurationsInput, ...request.Option) (*redshiftserverless.ListSnapshotCopyConfigurationsOutput, error) + ListSnapshotCopyConfigurationsRequest(*redshiftserverless.ListSnapshotCopyConfigurationsInput) (*request.Request, *redshiftserverless.ListSnapshotCopyConfigurationsOutput) + + ListSnapshotCopyConfigurationsPages(*redshiftserverless.ListSnapshotCopyConfigurationsInput, func(*redshiftserverless.ListSnapshotCopyConfigurationsOutput, bool) bool) error + ListSnapshotCopyConfigurationsPagesWithContext(aws.Context, *redshiftserverless.ListSnapshotCopyConfigurationsInput, func(*redshiftserverless.ListSnapshotCopyConfigurationsOutput, bool) bool, ...request.Option) error + ListSnapshots(*redshiftserverless.ListSnapshotsInput) (*redshiftserverless.ListSnapshotsOutput, error) ListSnapshotsWithContext(aws.Context, *redshiftserverless.ListSnapshotsInput, ...request.Option) (*redshiftserverless.ListSnapshotsOutput, error) ListSnapshotsRequest(*redshiftserverless.ListSnapshotsInput) (*request.Request, *redshiftserverless.ListSnapshotsOutput) @@ -228,6 +262,10 @@ type RedshiftServerlessAPI interface { RestoreFromSnapshotWithContext(aws.Context, *redshiftserverless.RestoreFromSnapshotInput, ...request.Option) (*redshiftserverless.RestoreFromSnapshotOutput, error) RestoreFromSnapshotRequest(*redshiftserverless.RestoreFromSnapshotInput) (*request.Request, *redshiftserverless.RestoreFromSnapshotOutput) + RestoreTableFromRecoveryPoint(*redshiftserverless.RestoreTableFromRecoveryPointInput) (*redshiftserverless.RestoreTableFromRecoveryPointOutput, error) + RestoreTableFromRecoveryPointWithContext(aws.Context, *redshiftserverless.RestoreTableFromRecoveryPointInput, ...request.Option) (*redshiftserverless.RestoreTableFromRecoveryPointOutput, error) + RestoreTableFromRecoveryPointRequest(*redshiftserverless.RestoreTableFromRecoveryPointInput) (*request.Request, *redshiftserverless.RestoreTableFromRecoveryPointOutput) + RestoreTableFromSnapshot(*redshiftserverless.RestoreTableFromSnapshotInput) (*redshiftserverless.RestoreTableFromSnapshotOutput, error) RestoreTableFromSnapshotWithContext(aws.Context, *redshiftserverless.RestoreTableFromSnapshotInput, ...request.Option) (*redshiftserverless.RestoreTableFromSnapshotOutput, error) RestoreTableFromSnapshotRequest(*redshiftserverless.RestoreTableFromSnapshotInput) (*request.Request, *redshiftserverless.RestoreTableFromSnapshotOutput) @@ -252,10 +290,18 @@ type RedshiftServerlessAPI interface { UpdateNamespaceWithContext(aws.Context, *redshiftserverless.UpdateNamespaceInput, ...request.Option) (*redshiftserverless.UpdateNamespaceOutput, error) UpdateNamespaceRequest(*redshiftserverless.UpdateNamespaceInput) (*request.Request, *redshiftserverless.UpdateNamespaceOutput) + UpdateScheduledAction(*redshiftserverless.UpdateScheduledActionInput) (*redshiftserverless.UpdateScheduledActionOutput, error) + UpdateScheduledActionWithContext(aws.Context, *redshiftserverless.UpdateScheduledActionInput, ...request.Option) (*redshiftserverless.UpdateScheduledActionOutput, error) + UpdateScheduledActionRequest(*redshiftserverless.UpdateScheduledActionInput) (*request.Request, *redshiftserverless.UpdateScheduledActionOutput) + UpdateSnapshot(*redshiftserverless.UpdateSnapshotInput) (*redshiftserverless.UpdateSnapshotOutput, error) UpdateSnapshotWithContext(aws.Context, *redshiftserverless.UpdateSnapshotInput, ...request.Option) (*redshiftserverless.UpdateSnapshotOutput, error) UpdateSnapshotRequest(*redshiftserverless.UpdateSnapshotInput) (*request.Request, *redshiftserverless.UpdateSnapshotOutput) + UpdateSnapshotCopyConfiguration(*redshiftserverless.UpdateSnapshotCopyConfigurationInput) (*redshiftserverless.UpdateSnapshotCopyConfigurationOutput, error) + UpdateSnapshotCopyConfigurationWithContext(aws.Context, *redshiftserverless.UpdateSnapshotCopyConfigurationInput, ...request.Option) (*redshiftserverless.UpdateSnapshotCopyConfigurationOutput, error) + UpdateSnapshotCopyConfigurationRequest(*redshiftserverless.UpdateSnapshotCopyConfigurationInput) (*request.Request, *redshiftserverless.UpdateSnapshotCopyConfigurationOutput) + UpdateUsageLimit(*redshiftserverless.UpdateUsageLimitInput) (*redshiftserverless.UpdateUsageLimitOutput, error) UpdateUsageLimitWithContext(aws.Context, *redshiftserverless.UpdateUsageLimitInput, ...request.Option) (*redshiftserverless.UpdateUsageLimitOutput, error) UpdateUsageLimitRequest(*redshiftserverless.UpdateUsageLimitInput) (*request.Request, *redshiftserverless.UpdateUsageLimitOutput)