Skip to content

Commit

Permalink
Updated gh-pages
Browse files Browse the repository at this point in the history
  • Loading branch information
vsnyc committed Sep 4, 2024
1 parent 1960f2e commit 1ebd266
Show file tree
Hide file tree
Showing 2 changed files with 85 additions and 47 deletions.
86 changes: 85 additions & 1 deletion docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -860,7 +860,11 @@
<li><a href="#_faq">FAQ</a></li>
<li><a href="#_troubleshooting">Troubleshooting</a></li>
<li><a href="#_customer_responsibility">Customer responsibility</a></li>
<li><a href="#_parameter_reference">Parameter reference</a></li>
<li><a href="#_parameter_reference">Parameter reference</a>
<ul class="sectlevel2">
<li><a href="#_deploy_aws_marketplace_saas_entitlement_and_subscription_portal">Deploy AWS Marketplace SaaS entitlement and subscription portal</a></li>
</ul>
</li>
<li><a href="#_send_us_feedback">Send us feedback</a></li>
<li><a href="#_quick_start_reference_deployments">Quick Start reference deployments</a></li>
<li><a href="#_github_repository">GitHub repository</a></li>
Expand Down Expand Up @@ -1444,6 +1448,86 @@ <h2 id="_parameter_reference">Parameter reference</h2>
</tr>
</table>
</div>
<div class="sect2">
<h3 id="_deploy_aws_marketplace_saas_entitlement_and_subscription_portal">Deploy AWS Marketplace SaaS entitlement and subscription portal</h3>
<table class="tableblock frame-all grid-all stretch">
<caption class="title">Table 1. AWS Integration and Automation configuration</caption>
<colgroup>
<col style="width: 16%;">
<col style="width: 11%;">
<col style="width: 73%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">Parameter label (name)</th>
<th class="tableblock halign-left valign-top">Default value</th>
<th class="tableblock halign-left valign-top">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">SaaS pricing model
(<code>TypeOfSaaSListing</code>)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>contracts_with_subscription</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The SaaS pricing model of your product.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Registration page
(<code>CreateRegistrationWebPage</code>)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>true</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Choose 'true' to create a new registration page hosted by Amazon CloudFront. If you already have a custom registration page, choose 'false'.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">S3 bucket name
(<code>WebsiteS3BucketName</code>)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><strong><em>Requires input</em></strong></code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The S3 bucket that holds the static HTML registration page files. If this bucket doesn&#8217;t exist, it is created.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Product code
(<code>ProductCode</code>)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><strong><em>Requires input</em></strong></code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The product code provided by AWS Marketplace at the time the limited listing was published.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Subscriptions SNS topic ARN
(<code>SubscriptionSNSTopic</code>)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><strong><em>Requires input</em></strong></code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">If your product is a SaaS subscription or Saas contract with subscription, use the entitlement SNS topic provided by AWS Marketplace at the time the limited listing was published.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Entitlements SNS topic ARN
(<code>EntitlementSNSTopic</code>)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><strong><em>Requires input</em></strong></code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">If your product is a SaaS contract, use the entitelement SNS topic provided by AWS Marketplace at the time the limited listing was published.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">New subscribers DynamoDB table name
(<code>NewSubscribersTableName</code>)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>AWSMarketplaceSubscribers</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The custom value for the New Subscribers table. Value must be unique per product.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Metering records Amazon DynamoDB table name
(<code>AWSMarketplaceMeteringRecordsTableName</code>)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>AWSMarketplaceMeteringRecords</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Custom value for the metering records table. Value must be unique per product.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Admin email address
(<code>MarketplaceTechAdminEmail</code>)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code><strong><em>Requires input</em></strong></code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">The email address that receives SNS notifications for new customer registrations, entitlement changes, and subscription events.</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">Artifact S3 bucket name
(<code>ArtifactBucketName</code>)</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock"><code>aws-quickstart</code></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">Name of the S3 bucket name that contains that artifacts. This string can include numbers, lowercase letters, uppercase letters, and hyphens (-). It cannot start or end with a hyphen (-).</p></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="sect1">
Expand Down
46 changes: 0 additions & 46 deletions docs/partner_editable/additional_info.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,7 @@ On your software’s registration page, you can collect whatever information is

The registration page identifies and accepts the *x-amzn-marketplace-token* token from the AWS Marketplace form data. The token includes the customer’s identifier for billing. The page then passes the token value to the AWS Marketplace Metering Service and AWS Marketplace Entitlement Service APIs to resolve for the unique customer identifier and corresponding product code.

<<<<<<< HEAD
The Quick Start creates a static HTML registration page hosted on Amazon S3. The page takes user inputs that are defined in the HTML form and submits them to the customer endpoint on AWS Marketplace. The page is delivered via a CloudFront distribution, which can be configured to use domain/CNAME. The POST request coming from AWS Marketplace is intercepted by the Lambda@Edge *src/lambda-edge/edge-redirect.js* function, which transforms the POST request to a GET request and passes the *x-amzn-marketplace-token* in the query string. The handler for the customer endpoint on AWS Marketplace is defined in the *src/register-new-subscriber.js* function, which calls the *resolveCustomer* endpoint and validates the token. If the token is valid, the customer record is created in the *AWSMarketplaceSubscribers* DynamoDB table, and the new customer data is stored.
=======
The Quick Start creates a static HTML registration page hosted on Amazon S3. The page takes user inputs that are defined in the HTML form and submits them to the customer endpoint on AWS Marketplace. The page is delivered via a CloudFront distribution, which can be configured to use domain/CNAME. The POST request coming from AWS Marketplace is intercepted by the Lambda *src/redirect.js* function, which transforms the POST request to a GET request and passes the *x-amzn-marketplace-token* in the query string. The handler for the customer endpoint on AWS Marketplace is defined in the *src/register-new-subscriber.js* function, which calls the *resolveCustomer* endpoint and validates the token. If the token is valid, the customer record is created in the *AWSMarketplaceSubscribers* DynamoDB table, and the new customer data is stored.
>>>>>>> doc-edits

=== Grant access to new subscribers

Expand Down Expand Up @@ -52,21 +48,6 @@ New records in the *AWSMarketplaceMeteringRecords* table should be stored in the

....
{
<<<<<<< HEAD
"create_timestamp": 113123,
"customerIdentifier": "ifAPi5AcF3",
"dimension_usage": [
{
"dimension": "users",
"value": 3
},
{
"dimension": "admin_users",
"value": 1
}
],
"metering_pending": "true"
=======
"create_timestamp": {
"N": "113123"
},
Expand Down Expand Up @@ -100,7 +81,6 @@ New records in the *AWSMarketplaceMeteringRecords* table should be stored in the
"metering_pending": {
"S": "true"
}
>>>>>>> doc-edits
}
....

Expand All @@ -126,31 +106,6 @@ After the record is submitted to the AWS Marketplace API, the record updates, an
== Post-deployment steps
// If post-deployment steps are required, add them here. If not, remove the heading

<<<<<<< HEAD
=== Set up your registration page
After your stack has launched successfully, set up your registration page and connect it with the API Gateway created by the stack. Your registration page will be hosted in the website S3 bucket that was created by the stack earlier.
. https://awsmp-usageinstructions.s3.amazonaws.com/SaaSQuickStartRegistrationPage.zip[Download^] the website files to your local computer.
. Unzip the file and open the *web* folder to access the files inside.
. Retrieve the API ID of the API Gateway deployed by the stack.
. Open the file named *scripts.js* and update the *baseUrl* property in line 1 with the API ID you just retrieved from the API Gateway console. Save the changes to the file.
==== Example
** *Before*: `const baseUrl = 'https://API-ID.execute-api.us-east-1.amazonaws.com/Prod/';`
** *After*: `const baseUrl = 'https://qy7ryx6nkg.execute-api.us-east-1.amazonaws.com/Prod/';`
[start=5]
. Open the website S3 bucket created by the stack in your S3 console, and upload the five files in the web folder to the S3 bucket.
Your integration is now ready for use. Since CloudFront distribution is used to ensure low latency for the registration page, the SaaS fulfillment URL is the CloudFront CName (domain name) of the distribution created by the stack.
Go to the https://console.aws.amazon.com/cloudfront/home?region=us-east-1[CloudFront console^] to retrieve the domain name. Be sure to provide the domain name to the AWS Marketplace Seller Operations team to associate with your limited SaaS listing.
* SaaS fulfillment URL format: https://_<domain name>_
* Example URL: https://d142rocbcrghws.cloudfront.net
=======
=== Update the SaaS Fulfillment URL

Update the fulfillment URL for your SaaS listing.
Expand All @@ -160,7 +115,6 @@ Update the fulfillment URL for your SaaS listing.
. Update this field with the *AWSMarketplaceFulfillmentURL* value found in the stack outputs.

Your integration is now ready for use.
>>>>>>> doc-edits

=== Confirm the Amazon SNS subscription

Expand Down

0 comments on commit 1ebd266

Please sign in to comment.