Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

184 lines
9.2 KiB
Markdown
Raw Permalink Normal View History

GREAT WEBSITE MIGRATION OF 2018 (#1269) * Move content into docs/content * Make navigation and doc generation work Signed-off-by: Christian Nunciato <c@nunciato.org> * Make search work Signed-off-by: Christian Nunciato <c@nunciato.org> * Move docs-specific layouts into layouts/docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Move docs partials into layouts/partials/docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Share a common header and footer Signed-off-by: Christian Nunciato <c@nunciato.org> * Add product & pricing pages, modify main nav Signed-off-by: Christian Nunciato <c@nunciato.org> * Bring images under assets, docs images under assets/images/docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Link to the docs home page, fix image ref Signed-off-by: Christian Nunciato <c@nunciato.org> * Add containers, serverless, kubernetes topics Signed-off-by: Christian Nunciato <c@nunciato.org> * Add careers Signed-off-by: Christian Nunciato <c@nunciato.org> * Add compete, compete -> migrate Signed-off-by: Christian Nunciato <c@nunciato.org> * About, contact Signed-off-by: Christian Nunciato <c@nunciato.org> * Add legal Signed-off-by: Christian Nunciato <c@nunciato.org> * Add product Signed-off-by: Christian Nunciato <c@nunciato.org> * Add partner content Signed-off-by: Christian Nunciato <c@nunciato.org> * Add webinar Signed-off-by: Christian Nunciato <c@nunciato.org> * Add why-pulumi Signed-off-by: Christian Nunciato <c@nunciato.org> * Add GitHub redirect, support Signed-off-by: Christian Nunciato <c@nunciato.org> * Add blog * Add blog - update post frontmatter * Update content/_index.md Co-Authored-By: Justin Van Patten <jvp@justinvp.com> * Remove drafts & redundant fonts, move asset dirs up a level Signed-off-by: Christian Nunciato <c@nunciato.org> * Reconcile blog navigation Signed-off-by: Christian Nunciato <c@nunciato.org> * Migrate some blog content (#1147) * Reconcile www, blog and docs footer items (#1141) Signed-off-by: Christian Nunciato <c@nunciato.org> * Clean up blog layout (#1148) * Migrate more blog posts (#1157) * Replace Bootstrap with TailwindCSS * Add Tailwind * Create a config directory under assets, move PostCSS and Tailwind configs into it * Remove Bootstrap Sass and JS referemce * Refactor the header, base template, and footer to use Tailwind * Pull TOC Sass into its own partial Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor the docs home page Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor docs single, list and section layouts Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor quickstart-clouds partial Signed-off-by: Christian Nunciato <c@nunciato.org> * Reposition config items to fix syntax highlighting Signed-off-by: Christian Nunciato <c@nunciato.org> * Replace syntax CSS theme with Monokai Signed-off-by: Christian Nunciato <c@nunciato.org> * Add a dark blue for links Signed-off-by: Christian Nunciato <c@nunciato.org> * Add the beginnings of Sass color settings Signed-off-by: Christian Nunciato <c@nunciato.org> * Add a Sass file for langchoose Signed-off-by: Christian Nunciato <c@nunciato.org> * Give no-select its own Sass also, since it’s a partial Signed-off-by: Christian Nunciato <c@nunciato.org> * Give docs single and list templates more width for main content Signed-off-by: Christian Nunciato <c@nunciato.org> * Add some padding to the TOC, since we don’t have proper gutters yet Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix button on Quickstart home page Signed-off-by: Christian Nunciato <c@nunciato.org> * TOC styles Signed-off-by: Christian Nunciato <c@nunciato.org> * Quickstart clouds Signed-off-by: Christian Nunciato <c@nunciato.org> * Padding to left and right columns Signed-off-by: Christian Nunciato <c@nunciato.org> * Black for TOC Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor docs/aws to use its own layouts Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix the AWS tech partner image Signed-off-by: Christian Nunciato <c@nunciato.org> * Adjust AWS layouts Signed-off-by: Christian Nunciato <c@nunciato.org> * Move docs-home markup into a layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Format the mini-toc Signed-off-by: Christian Nunciato <c@nunciato.org> * Reduce subhead sizes a bit Signed-off-by: Christian Nunciato <c@nunciato.org> * Remove snowflake styles Signed-off-by: Christian Nunciato <c@nunciato.org> * Extract some Sass partials Signed-off-by: Christian Nunciato <c@nunciato.org> * Define initial purple and blue palettes, use numbered colors instead Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor blog templates Signed-off-by: Christian Nunciato <c@nunciato.org> * Make blog summary a partial, style pagination Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix expanded URLs Signed-off-by: Christian Nunciato <c@nunciato.org> * Rename Documentation to Reference Signed-off-by: Christian Nunciato <c@nunciato.org> * A smattering of minor adjustments Signed-off-by: Christian Nunciato <c@nunciato.org> * Selection state for tags Signed-off-by: Christian Nunciato <c@nunciato.org> * Delete more Bootstrap Signed-off-by: Christian Nunciato <c@nunciato.org> * Comment the banner Signed-off-by: Christian Nunciato <c@nunciato.org> * Restore footer links Signed-off-by: Christian Nunciato <c@nunciato.org> * Legal layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Remove unused layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor careers page Signed-off-by: Christian Nunciato <c@nunciato.org> * Use top-level URLs for legal docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Add RSS for the blog (#1170) * Add RSS for the blog * Cleanup team data (#1195) * Cleanup team data * Add missing newlines at EOF * Blog content as of 6/16 (#1196) * Blog content layout tweaks * Migrated blog content (as of Sun 6/16) * Address PR feedback, replace links to pulumi.io * Add fusion stack Any changes to the `fusion` branch will now be deployed to https://fusion.pulumi.io/. * Fix broken links * Fix broken images in fusion branch (#1207) Deletes unnecessary uses of `BaseURL`. In a small number of cases, where we want to emit an absolute URL that includes the `BaseURL`, use the `absURL` function instead, which is smart about handling missing/extra slashes. * Integrate www content (#1208) Signed-off-by: Christian Nunciato <c@nunciato.org> * Highlight currently selected section tab (#1216) * Remove unused partials (#1215) These are no longer referenced, so they can be removed. Signed-off-by: Christian Nunciato <c@nunciato.org> * Blog content as of 6/24 (#1218) * Port running-containers-in-aws-the-lowdown-ecs-fargate-and-eks * Port building-and-publishing-docker-images-to-a-private-amazon-ecr-repository * Port happy-birthday-to-pulumi-open-source * Commit updates to package-lock.json * Link cleanups and other fixes * Remove 'wip' tag * Restore meta_* fields, tidy up some frontmatter (#1214) Signed-off-by: Christian Nunciato <c@nunciato.org> * Add search (#1217) Signed-off-by: Christian Nunciato <c@nunciato.org> * Hide `.language-prologue-*` by default (#1212) So they all don't initially flash as being visible before all but the selected language are hidden. Port from `_pulumi.scss`. * Limit team members to those with status “active” (#1219) Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix links to datadog provider * Remove top margin from code snippets under lang tabs (#1223) * Update MBR DNA logo (#1222) * Add links to cloud logos (#1221) And use `logo-aws_white.png` for AWS * Remove unnecessary aliases (#1210) Now that we'll be hosting the docs on a new domain, there's no need to maintain these aliases. The old site hosted at https://pulumi.io will have redirects from the old aliases to the new location on the new site. * Pricing page updates (#1224) * Add swooshes to the home, pricing and webinar pages. * Replace “tech” PNGs for GitHub, GitLab, Atlassian and SAML with SVGs, and add an email SVG, in order to align all of their images in the pricing grid. * Add a “See plan details” link above the pricing grid. * Update Font Awesome to version 5.8.1 (to match what's in use on www today) in order to pull in the infinity icons used in the pricing grid. * Align CTA buttons horizontally in adjacent boxes containing content of varying heights. * Fix duplicate links on the home and product pages. Signed-off-by: Christian Nunciato <c@nunciato.org> * Update API docs (#1227) * Update tsdocgen paths * Updated API docs * Fix broken images (#1228) Remove unnecessary `{{ .Site.BaseURL }}` prefix from image URLs. * Fix Hugo build warning about non-relative ref/relref page reference (#1229) * Fix page titles and errant anchors (#1226) * Prevent anchors on the home page * Fix page titles Signed-off-by: Christian Nunciato <c@nunciato.org> * Add a robots.txt file (#1225) This change adds a robots.txt template authorizing seach-engine indexing for all pages of the production site. It assumes that all non-production builds will override the `baseURL` configuration property with something other than `https://pulumi.com/`. Signed-off-by: Christian Nunciato <c@nunciato.org> * Blog content fixes (#1231) * Correct post dates, titles * Revert to previous tags * Unify tags, adjust for display * Replace short, social summaries with longer ones * Use a fixed height for the utility bar (#1232) When the GitHub widget loads asynchronously and pops into view, it causes the whole page to shift downward a few pixels, because the widget is taller than the links beside it. Applying an explicit hight to the utility bar fixes this. Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix TOC expansion for the tour (#1234) We're very likely going to remove the tour and disperse its content elsewhere, but in the meantime, fix the TOC expansion for "Beyond the Basics" items. * Add syntax highlighing to layout templates (#1238) This change adds a partial for highlighting code snippets in layouts. Signed-off-by: Christian Nunciato <c@nunciato.org> * Add home-page video (#1240) Also makes a few slight adjustments to improve mobile layout on the home page. Signed-off-by: Christian Nunciato <c@nunciato.org> * Blog layout and styling improvements (#1237) * Use explicit code blcoks with language * Fix sort order for Author and Tag listings * Make sidebar toggleable on mobile * Resize "poster" image for blog listings * Crop photos to be square * Add posted date, post tags to blog footer * Add recent posts lists to sidebar * Add syntax highlighting to some missed posts * Fix Hugo build warning * Adjust sidebar styling * Cleanup the /docs page (#1239) * Cleanup /docs/aws layouts to match other docs sections * Cleanup /docs pages - Add left nav - Make /docs page look slightly less like a "homepage" - Add top-level "Get Started" and "Reference" headings to left nav * Add `.btn-secondary` and use it in a few places * Remove unnecessary cursor setting (#1245) Should be using the default here. I was debugging and forgot to switch this back before committing. Signed-off-by: Christian Nunciato <c@nunciato.org> * Update the home page video (#1244) This is a slightly shorter version, with typing sections sped up slightly to better respect our visitors’ time. :smile: Signed-off-by: Christian Nunciato <c@nunciato.org> * API doc styling improvements (#1247) * Update API doc styling for Python Bring back the styles used for our Python API docs, convert to use Tailwind, and make further tweaks to make it look even better. For example, all definitions now look like code blocks and indentation and spacing is used to improve the hierarchy of the content. * Only emit the <h1>.Title</h1> if there is a .Title The generated Python API docs don't currently include front matter and therefore do not have a title. We should fix the Python docs gen to do that, but in the meantime, only emit `<h1>.Title</h1>` if the page has a `.Title`, to avoid an unnecessary gap at the top of the page. * Update _pygments.scss to select .highlight instead of .chroma The syntax highlighted code generated by Hugo looks like: ``` <div class="highlight"> <pre class="chroma"> <code class="language-foo"> ... </code> </pre> </div> ``` And our styles looks like: ``` .chroma .k { ... } .chroma .kc { ... } ... ``` This works good, but our generated Python docs, which uses Pygments to do the syntax highlighting, doesn't use `.chroma`, so it doesn't get any syntax highlighting currently, even though all the Pygments classes are there. This is true for our Node.js docs as well, although, based on how we generate the code for that currently, we could relatively easily update the templates to include a `.chroma` class. In all cases, the code that we want highlighted will have a `.highlight` class surrounding it, so just update our styles to select `.highlight` instead of `.chroma`. ``` .highlight .k { ... } .highlight .kc { ... } ... ``` * Update API doc styling for Node.js * Various mobile adjustments and cleanup (#1250) * Pull the hero and section nav into Tailwind "components" and apply them. * Adjust home-page video dimensions accordingly. * Add mobile x-padding to sections that hadn't gotten it yet. * Add an anchor exclusion to the head for the About page. * Fix mobile layout for the Support page. * Fix centering and item distribution on the About page. * Additional minor mobile-related adjustments as encountered. Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix bug in lang chooser (#1249) If I've previously viewed a page in our docs with the language tabs, such as the Get Started guide, and I click the Python tab, that language choice will be persisted to a cookie. If I then visit our Node.js API docs, the lang chooser will see the saved value of "Python" and try to select that tab, hiding all other language snippets. But our Node.js API docs only contain JavaScript and TypeScript snippets, so the end result is that all snippets are hidden and no tab is selected. This change fixes that. If the value in the cookie does not exist in any of the tabs on the page, fallback to the default (JavaScript), otherwise fallback to the first tab that is available on the page. * More small fixes (#1254) * Make the header more responsive Adds padding to medium and above, and adjusts font size and spacing at medium width in order to accommodate the number of items we’re displaying currently. Also uses the full Pulumi logo, since we have room for that now, and adds a little color to the hamburger. Signed-off-by: Christian Nunciato <c@nunciato.org> * Bottom-align the image on the whitepaper layout Also removes the `header` selector from `_hero.scss` in order to reduce the specificity of the rule, allowing it to be overidden more easily with other Tailwind classnames. Signed-off-by: Christian Nunciato <c@nunciato.org> * Add team@pulumi link to the footer Signed-off-by: Christian Nunciato <c@nunciato.org> * Restore the newsroom and investors sections Somehow these got dropped! :scream: Signed-off-by: Christian Nunciato <c@nunciato.org> * Add hero background glows (#1257) Also deletes unused templates. Signed-off-by: Christian Nunciato <c@nunciato.org> * Hide scrollbars if not needed (#1256) * Improve Pricing page responsiveness, fix a few other small things (#1259) * Fix section link on the Why Pulumi page Signed-off-by: Christian Nunciato <c@nunciato.org> * Capitalize Kubernetes in copy Signed-off-by: Christian Nunciato <c@nunciato.org> * Adjust image sizes on Whitepaper page Properly size them on both mobile and desktop. Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix paging on mobile Decrease padding to prevent overflow. Signed-off-by: Christian Nunciato <c@nunciato.org> * Improve Pricing page layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Replace home page video with carousel (#1260) Signed-off-by: Christian Nunciato <c@nunciato.org> * Change Segment module to WWW (#1265) * Hook up new www.pulumi.com/staging stack to CI/CD (#1262) * Move older 'pulumi.io' stacks to infrastructure-old * Add new 'www.pulumi.com' infrastructure folder * Scripts to hook up to CI/CD * Switch back to using generic Travis worker * Add alias to CDN for staging.pulumi.io * Remove alias to staging.pulumi.io * Do not use named profiles for deployments There's an issue today where named profiles which use `credential_source=Environment` don't actually behave correctly with the assume-role tool. Instead of actually assuming the role, it just uses the credentials in the environment, which is not exactly what you want. For now, explicitly set the ARN we want to assume, instead of indirecting across a named profile. * Remove CloudFront alias entirely * Add hover menu (#1266) Signed-off-by: Christian Nunciato <c@nunciato.org> * Hook up new www.pulumi.com/production stack to CI/CD (#1267) * Hook up new www.pulumi.com/production stack to CI/CD * Correct Makefile syntax * Migrate blog posts as of 7/2 (#1268) * Fix Makefile syntax * Fix spelling error ::sigh::
2019-07-02 16:30:33 -07:00
---
title: "Using Pulumi with AWS SQS and Lambdas"
authors: ["cyrus-najmabadi"]
tags: ["JavaScript","Serverless","AWS"]
date: "2018-07-10"
meta_desc: "Learn how to use Amazon's SQS with Pulumi in order to post a Slack notification upon receipt of a message via SQS."
GREAT WEBSITE MIGRATION OF 2018 (#1269) * Move content into docs/content * Make navigation and doc generation work Signed-off-by: Christian Nunciato <c@nunciato.org> * Make search work Signed-off-by: Christian Nunciato <c@nunciato.org> * Move docs-specific layouts into layouts/docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Move docs partials into layouts/partials/docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Share a common header and footer Signed-off-by: Christian Nunciato <c@nunciato.org> * Add product & pricing pages, modify main nav Signed-off-by: Christian Nunciato <c@nunciato.org> * Bring images under assets, docs images under assets/images/docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Link to the docs home page, fix image ref Signed-off-by: Christian Nunciato <c@nunciato.org> * Add containers, serverless, kubernetes topics Signed-off-by: Christian Nunciato <c@nunciato.org> * Add careers Signed-off-by: Christian Nunciato <c@nunciato.org> * Add compete, compete -> migrate Signed-off-by: Christian Nunciato <c@nunciato.org> * About, contact Signed-off-by: Christian Nunciato <c@nunciato.org> * Add legal Signed-off-by: Christian Nunciato <c@nunciato.org> * Add product Signed-off-by: Christian Nunciato <c@nunciato.org> * Add partner content Signed-off-by: Christian Nunciato <c@nunciato.org> * Add webinar Signed-off-by: Christian Nunciato <c@nunciato.org> * Add why-pulumi Signed-off-by: Christian Nunciato <c@nunciato.org> * Add GitHub redirect, support Signed-off-by: Christian Nunciato <c@nunciato.org> * Add blog * Add blog - update post frontmatter * Update content/_index.md Co-Authored-By: Justin Van Patten <jvp@justinvp.com> * Remove drafts & redundant fonts, move asset dirs up a level Signed-off-by: Christian Nunciato <c@nunciato.org> * Reconcile blog navigation Signed-off-by: Christian Nunciato <c@nunciato.org> * Migrate some blog content (#1147) * Reconcile www, blog and docs footer items (#1141) Signed-off-by: Christian Nunciato <c@nunciato.org> * Clean up blog layout (#1148) * Migrate more blog posts (#1157) * Replace Bootstrap with TailwindCSS * Add Tailwind * Create a config directory under assets, move PostCSS and Tailwind configs into it * Remove Bootstrap Sass and JS referemce * Refactor the header, base template, and footer to use Tailwind * Pull TOC Sass into its own partial Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor the docs home page Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor docs single, list and section layouts Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor quickstart-clouds partial Signed-off-by: Christian Nunciato <c@nunciato.org> * Reposition config items to fix syntax highlighting Signed-off-by: Christian Nunciato <c@nunciato.org> * Replace syntax CSS theme with Monokai Signed-off-by: Christian Nunciato <c@nunciato.org> * Add a dark blue for links Signed-off-by: Christian Nunciato <c@nunciato.org> * Add the beginnings of Sass color settings Signed-off-by: Christian Nunciato <c@nunciato.org> * Add a Sass file for langchoose Signed-off-by: Christian Nunciato <c@nunciato.org> * Give no-select its own Sass also, since it’s a partial Signed-off-by: Christian Nunciato <c@nunciato.org> * Give docs single and list templates more width for main content Signed-off-by: Christian Nunciato <c@nunciato.org> * Add some padding to the TOC, since we don’t have proper gutters yet Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix button on Quickstart home page Signed-off-by: Christian Nunciato <c@nunciato.org> * TOC styles Signed-off-by: Christian Nunciato <c@nunciato.org> * Quickstart clouds Signed-off-by: Christian Nunciato <c@nunciato.org> * Padding to left and right columns Signed-off-by: Christian Nunciato <c@nunciato.org> * Black for TOC Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor docs/aws to use its own layouts Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix the AWS tech partner image Signed-off-by: Christian Nunciato <c@nunciato.org> * Adjust AWS layouts Signed-off-by: Christian Nunciato <c@nunciato.org> * Move docs-home markup into a layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Format the mini-toc Signed-off-by: Christian Nunciato <c@nunciato.org> * Reduce subhead sizes a bit Signed-off-by: Christian Nunciato <c@nunciato.org> * Remove snowflake styles Signed-off-by: Christian Nunciato <c@nunciato.org> * Extract some Sass partials Signed-off-by: Christian Nunciato <c@nunciato.org> * Define initial purple and blue palettes, use numbered colors instead Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor blog templates Signed-off-by: Christian Nunciato <c@nunciato.org> * Make blog summary a partial, style pagination Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix expanded URLs Signed-off-by: Christian Nunciato <c@nunciato.org> * Rename Documentation to Reference Signed-off-by: Christian Nunciato <c@nunciato.org> * A smattering of minor adjustments Signed-off-by: Christian Nunciato <c@nunciato.org> * Selection state for tags Signed-off-by: Christian Nunciato <c@nunciato.org> * Delete more Bootstrap Signed-off-by: Christian Nunciato <c@nunciato.org> * Comment the banner Signed-off-by: Christian Nunciato <c@nunciato.org> * Restore footer links Signed-off-by: Christian Nunciato <c@nunciato.org> * Legal layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Remove unused layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor careers page Signed-off-by: Christian Nunciato <c@nunciato.org> * Use top-level URLs for legal docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Add RSS for the blog (#1170) * Add RSS for the blog * Cleanup team data (#1195) * Cleanup team data * Add missing newlines at EOF * Blog content as of 6/16 (#1196) * Blog content layout tweaks * Migrated blog content (as of Sun 6/16) * Address PR feedback, replace links to pulumi.io * Add fusion stack Any changes to the `fusion` branch will now be deployed to https://fusion.pulumi.io/. * Fix broken links * Fix broken images in fusion branch (#1207) Deletes unnecessary uses of `BaseURL`. In a small number of cases, where we want to emit an absolute URL that includes the `BaseURL`, use the `absURL` function instead, which is smart about handling missing/extra slashes. * Integrate www content (#1208) Signed-off-by: Christian Nunciato <c@nunciato.org> * Highlight currently selected section tab (#1216) * Remove unused partials (#1215) These are no longer referenced, so they can be removed. Signed-off-by: Christian Nunciato <c@nunciato.org> * Blog content as of 6/24 (#1218) * Port running-containers-in-aws-the-lowdown-ecs-fargate-and-eks * Port building-and-publishing-docker-images-to-a-private-amazon-ecr-repository * Port happy-birthday-to-pulumi-open-source * Commit updates to package-lock.json * Link cleanups and other fixes * Remove 'wip' tag * Restore meta_* fields, tidy up some frontmatter (#1214) Signed-off-by: Christian Nunciato <c@nunciato.org> * Add search (#1217) Signed-off-by: Christian Nunciato <c@nunciato.org> * Hide `.language-prologue-*` by default (#1212) So they all don't initially flash as being visible before all but the selected language are hidden. Port from `_pulumi.scss`. * Limit team members to those with status “active” (#1219) Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix links to datadog provider * Remove top margin from code snippets under lang tabs (#1223) * Update MBR DNA logo (#1222) * Add links to cloud logos (#1221) And use `logo-aws_white.png` for AWS * Remove unnecessary aliases (#1210) Now that we'll be hosting the docs on a new domain, there's no need to maintain these aliases. The old site hosted at https://pulumi.io will have redirects from the old aliases to the new location on the new site. * Pricing page updates (#1224) * Add swooshes to the home, pricing and webinar pages. * Replace “tech” PNGs for GitHub, GitLab, Atlassian and SAML with SVGs, and add an email SVG, in order to align all of their images in the pricing grid. * Add a “See plan details” link above the pricing grid. * Update Font Awesome to version 5.8.1 (to match what's in use on www today) in order to pull in the infinity icons used in the pricing grid. * Align CTA buttons horizontally in adjacent boxes containing content of varying heights. * Fix duplicate links on the home and product pages. Signed-off-by: Christian Nunciato <c@nunciato.org> * Update API docs (#1227) * Update tsdocgen paths * Updated API docs * Fix broken images (#1228) Remove unnecessary `{{ .Site.BaseURL }}` prefix from image URLs. * Fix Hugo build warning about non-relative ref/relref page reference (#1229) * Fix page titles and errant anchors (#1226) * Prevent anchors on the home page * Fix page titles Signed-off-by: Christian Nunciato <c@nunciato.org> * Add a robots.txt file (#1225) This change adds a robots.txt template authorizing seach-engine indexing for all pages of the production site. It assumes that all non-production builds will override the `baseURL` configuration property with something other than `https://pulumi.com/`. Signed-off-by: Christian Nunciato <c@nunciato.org> * Blog content fixes (#1231) * Correct post dates, titles * Revert to previous tags * Unify tags, adjust for display * Replace short, social summaries with longer ones * Use a fixed height for the utility bar (#1232) When the GitHub widget loads asynchronously and pops into view, it causes the whole page to shift downward a few pixels, because the widget is taller than the links beside it. Applying an explicit hight to the utility bar fixes this. Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix TOC expansion for the tour (#1234) We're very likely going to remove the tour and disperse its content elsewhere, but in the meantime, fix the TOC expansion for "Beyond the Basics" items. * Add syntax highlighing to layout templates (#1238) This change adds a partial for highlighting code snippets in layouts. Signed-off-by: Christian Nunciato <c@nunciato.org> * Add home-page video (#1240) Also makes a few slight adjustments to improve mobile layout on the home page. Signed-off-by: Christian Nunciato <c@nunciato.org> * Blog layout and styling improvements (#1237) * Use explicit code blcoks with language * Fix sort order for Author and Tag listings * Make sidebar toggleable on mobile * Resize "poster" image for blog listings * Crop photos to be square * Add posted date, post tags to blog footer * Add recent posts lists to sidebar * Add syntax highlighting to some missed posts * Fix Hugo build warning * Adjust sidebar styling * Cleanup the /docs page (#1239) * Cleanup /docs/aws layouts to match other docs sections * Cleanup /docs pages - Add left nav - Make /docs page look slightly less like a "homepage" - Add top-level "Get Started" and "Reference" headings to left nav * Add `.btn-secondary` and use it in a few places * Remove unnecessary cursor setting (#1245) Should be using the default here. I was debugging and forgot to switch this back before committing. Signed-off-by: Christian Nunciato <c@nunciato.org> * Update the home page video (#1244) This is a slightly shorter version, with typing sections sped up slightly to better respect our visitors’ time. :smile: Signed-off-by: Christian Nunciato <c@nunciato.org> * API doc styling improvements (#1247) * Update API doc styling for Python Bring back the styles used for our Python API docs, convert to use Tailwind, and make further tweaks to make it look even better. For example, all definitions now look like code blocks and indentation and spacing is used to improve the hierarchy of the content. * Only emit the <h1>.Title</h1> if there is a .Title The generated Python API docs don't currently include front matter and therefore do not have a title. We should fix the Python docs gen to do that, but in the meantime, only emit `<h1>.Title</h1>` if the page has a `.Title`, to avoid an unnecessary gap at the top of the page. * Update _pygments.scss to select .highlight instead of .chroma The syntax highlighted code generated by Hugo looks like: ``` <div class="highlight"> <pre class="chroma"> <code class="language-foo"> ... </code> </pre> </div> ``` And our styles looks like: ``` .chroma .k { ... } .chroma .kc { ... } ... ``` This works good, but our generated Python docs, which uses Pygments to do the syntax highlighting, doesn't use `.chroma`, so it doesn't get any syntax highlighting currently, even though all the Pygments classes are there. This is true for our Node.js docs as well, although, based on how we generate the code for that currently, we could relatively easily update the templates to include a `.chroma` class. In all cases, the code that we want highlighted will have a `.highlight` class surrounding it, so just update our styles to select `.highlight` instead of `.chroma`. ``` .highlight .k { ... } .highlight .kc { ... } ... ``` * Update API doc styling for Node.js * Various mobile adjustments and cleanup (#1250) * Pull the hero and section nav into Tailwind "components" and apply them. * Adjust home-page video dimensions accordingly. * Add mobile x-padding to sections that hadn't gotten it yet. * Add an anchor exclusion to the head for the About page. * Fix mobile layout for the Support page. * Fix centering and item distribution on the About page. * Additional minor mobile-related adjustments as encountered. Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix bug in lang chooser (#1249) If I've previously viewed a page in our docs with the language tabs, such as the Get Started guide, and I click the Python tab, that language choice will be persisted to a cookie. If I then visit our Node.js API docs, the lang chooser will see the saved value of "Python" and try to select that tab, hiding all other language snippets. But our Node.js API docs only contain JavaScript and TypeScript snippets, so the end result is that all snippets are hidden and no tab is selected. This change fixes that. If the value in the cookie does not exist in any of the tabs on the page, fallback to the default (JavaScript), otherwise fallback to the first tab that is available on the page. * More small fixes (#1254) * Make the header more responsive Adds padding to medium and above, and adjusts font size and spacing at medium width in order to accommodate the number of items we’re displaying currently. Also uses the full Pulumi logo, since we have room for that now, and adds a little color to the hamburger. Signed-off-by: Christian Nunciato <c@nunciato.org> * Bottom-align the image on the whitepaper layout Also removes the `header` selector from `_hero.scss` in order to reduce the specificity of the rule, allowing it to be overidden more easily with other Tailwind classnames. Signed-off-by: Christian Nunciato <c@nunciato.org> * Add team@pulumi link to the footer Signed-off-by: Christian Nunciato <c@nunciato.org> * Restore the newsroom and investors sections Somehow these got dropped! :scream: Signed-off-by: Christian Nunciato <c@nunciato.org> * Add hero background glows (#1257) Also deletes unused templates. Signed-off-by: Christian Nunciato <c@nunciato.org> * Hide scrollbars if not needed (#1256) * Improve Pricing page responsiveness, fix a few other small things (#1259) * Fix section link on the Why Pulumi page Signed-off-by: Christian Nunciato <c@nunciato.org> * Capitalize Kubernetes in copy Signed-off-by: Christian Nunciato <c@nunciato.org> * Adjust image sizes on Whitepaper page Properly size them on both mobile and desktop. Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix paging on mobile Decrease padding to prevent overflow. Signed-off-by: Christian Nunciato <c@nunciato.org> * Improve Pricing page layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Replace home page video with carousel (#1260) Signed-off-by: Christian Nunciato <c@nunciato.org> * Change Segment module to WWW (#1265) * Hook up new www.pulumi.com/staging stack to CI/CD (#1262) * Move older 'pulumi.io' stacks to infrastructure-old * Add new 'www.pulumi.com' infrastructure folder * Scripts to hook up to CI/CD * Switch back to using generic Travis worker * Add alias to CDN for staging.pulumi.io * Remove alias to staging.pulumi.io * Do not use named profiles for deployments There's an issue today where named profiles which use `credential_source=Environment` don't actually behave correctly with the assume-role tool. Instead of actually assuming the role, it just uses the credentials in the environment, which is not exactly what you want. For now, explicitly set the ARN we want to assume, instead of indirecting across a named profile. * Remove CloudFront alias entirely * Add hover menu (#1266) Signed-off-by: Christian Nunciato <c@nunciato.org> * Hook up new www.pulumi.com/production stack to CI/CD (#1267) * Hook up new www.pulumi.com/production stack to CI/CD * Correct Makefile syntax * Migrate blog posts as of 7/2 (#1268) * Fix Makefile syntax * Fix spelling error ::sigh::
2019-07-02 16:30:33 -07:00
---
[Two weeks ago](https://aws.amazon.com/blogs/aws/aws-lambda-adds-amazon-simple-queue-service-to-supported-event-sources/)
Amazon added [Simple Queue Service](https://aws.amazon.com/sqs/) (SQS)
as a supported event source for
[Lambda](https://aws.amazon.com/lambda/). SQS is one of AWS's oldest
services, providing access to a powerful message queue that can do
things like guarantee messages will be delivered at least once, or
messages that will be processed in the same order they were received in.
Adding SQS as a supported event source for Lambda means that now it's
possible to use SQS in a serverless computing infrastructure, where
Lambdas are triggered in response to messages added to your SQS queue.
Now, instead of needing some sort of Service dedicated to polling your
SQS queue, or creating [Simple Notification Service](https://aws.amazon.com/sns/) (SNS)
notifications from your
messages, you can instead just directly trigger whatever Lambda you
want.
<!--more-->
## Example: Using AWS SQS and Lambda to post messages to Slack
Here's a simple example of using SQS as an event source with Pulumi:
upon receipt of a message via SQS we post a new message into Slack. The
full project is available on Github in our
[examples repo](https://github.com/pulumi/examples/tree/master/aws-js-sqs-slack),
and includes the instructions to get this up and running.
```javascript
let aws = require("@pulumi/aws");
let serverless = require("@pulumi/aws-serverless");
let config = require("./config");
let queue = new aws.sqs.Queue("mySlackQueue", { visibilityTimeoutSeconds: 180 });
serverless.queue.subscribe("mySlackPoster", queue, async (e) => {
let slack = require("@slack/client");
let client = new slack.WebClient(config.slackToken);
for (let rec of e.Records) {
await client.chat.postMessage({
channel: config.slackChannel,
text: `*SQS message ${rec.messageId}*: ${rec.body}`+
`(with :love_letter: from Pulumi)`,
as_user: true,
});
console.log(`Posted SQS message ${rec.messageId} to Slack channel ${config.slackChannel}`);
}
}, { batchSize: 1 });
module.exports = {
queueURL: queue.id,
};
```
## Implementing SQS in Pulumi
When we heard about this new functionality, we immediately knew we
wanted to let people access this new power from their Pulumi
applications. Based on Amazon's documentation on this new capability we
felt it would likely be very easy to provide. Amazon introduced this
functionality by reusing existing systems and APIs. Specifically, to
create a Lambda trigger off an SQS message you only need to create a new
[Event Source Mapping](https://docs.aws.amazon.com/lambda/latest/dg/API_CreateEventSourceMapping.html)
mapping between the two. This seemed like it would be very simple, and
we set off to expose the right Pulumi API to make this possible.
[@pulumi/aws-serverless](https://github.com/pulumi/pulumi-aws-serverless)
is Pulumi's convenience library for creating
[Serverless](https://aws.amazon.com/serverless/) computing components.
And we added the necessary code to expose the functionality in our
simple Pulumi programming model
[here](https://github.com/pulumi/pulumi-aws-serverless/blob/master/nodejs/aws-serverless/queue.ts).
With this new API you would now be able to write code in your Pulumi
application like so:
```javascript
import * as aws from "@pulumi/aws";
import * as serverless from "@pulumi/aws-serverless";
// Create the queue. Provide whatever specific configuration you need here.
const sqsQueue = new aws.sqs.Queue("queue", {
visibilityTimeoutSeconds: 300,
});
// Set up a subscription that will fire whenever the queue receives a message. Here we ask
GREAT WEBSITE MIGRATION OF 2018 (#1269) * Move content into docs/content * Make navigation and doc generation work Signed-off-by: Christian Nunciato <c@nunciato.org> * Make search work Signed-off-by: Christian Nunciato <c@nunciato.org> * Move docs-specific layouts into layouts/docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Move docs partials into layouts/partials/docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Share a common header and footer Signed-off-by: Christian Nunciato <c@nunciato.org> * Add product & pricing pages, modify main nav Signed-off-by: Christian Nunciato <c@nunciato.org> * Bring images under assets, docs images under assets/images/docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Link to the docs home page, fix image ref Signed-off-by: Christian Nunciato <c@nunciato.org> * Add containers, serverless, kubernetes topics Signed-off-by: Christian Nunciato <c@nunciato.org> * Add careers Signed-off-by: Christian Nunciato <c@nunciato.org> * Add compete, compete -> migrate Signed-off-by: Christian Nunciato <c@nunciato.org> * About, contact Signed-off-by: Christian Nunciato <c@nunciato.org> * Add legal Signed-off-by: Christian Nunciato <c@nunciato.org> * Add product Signed-off-by: Christian Nunciato <c@nunciato.org> * Add partner content Signed-off-by: Christian Nunciato <c@nunciato.org> * Add webinar Signed-off-by: Christian Nunciato <c@nunciato.org> * Add why-pulumi Signed-off-by: Christian Nunciato <c@nunciato.org> * Add GitHub redirect, support Signed-off-by: Christian Nunciato <c@nunciato.org> * Add blog * Add blog - update post frontmatter * Update content/_index.md Co-Authored-By: Justin Van Patten <jvp@justinvp.com> * Remove drafts & redundant fonts, move asset dirs up a level Signed-off-by: Christian Nunciato <c@nunciato.org> * Reconcile blog navigation Signed-off-by: Christian Nunciato <c@nunciato.org> * Migrate some blog content (#1147) * Reconcile www, blog and docs footer items (#1141) Signed-off-by: Christian Nunciato <c@nunciato.org> * Clean up blog layout (#1148) * Migrate more blog posts (#1157) * Replace Bootstrap with TailwindCSS * Add Tailwind * Create a config directory under assets, move PostCSS and Tailwind configs into it * Remove Bootstrap Sass and JS referemce * Refactor the header, base template, and footer to use Tailwind * Pull TOC Sass into its own partial Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor the docs home page Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor docs single, list and section layouts Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor quickstart-clouds partial Signed-off-by: Christian Nunciato <c@nunciato.org> * Reposition config items to fix syntax highlighting Signed-off-by: Christian Nunciato <c@nunciato.org> * Replace syntax CSS theme with Monokai Signed-off-by: Christian Nunciato <c@nunciato.org> * Add a dark blue for links Signed-off-by: Christian Nunciato <c@nunciato.org> * Add the beginnings of Sass color settings Signed-off-by: Christian Nunciato <c@nunciato.org> * Add a Sass file for langchoose Signed-off-by: Christian Nunciato <c@nunciato.org> * Give no-select its own Sass also, since it’s a partial Signed-off-by: Christian Nunciato <c@nunciato.org> * Give docs single and list templates more width for main content Signed-off-by: Christian Nunciato <c@nunciato.org> * Add some padding to the TOC, since we don’t have proper gutters yet Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix button on Quickstart home page Signed-off-by: Christian Nunciato <c@nunciato.org> * TOC styles Signed-off-by: Christian Nunciato <c@nunciato.org> * Quickstart clouds Signed-off-by: Christian Nunciato <c@nunciato.org> * Padding to left and right columns Signed-off-by: Christian Nunciato <c@nunciato.org> * Black for TOC Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor docs/aws to use its own layouts Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix the AWS tech partner image Signed-off-by: Christian Nunciato <c@nunciato.org> * Adjust AWS layouts Signed-off-by: Christian Nunciato <c@nunciato.org> * Move docs-home markup into a layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Format the mini-toc Signed-off-by: Christian Nunciato <c@nunciato.org> * Reduce subhead sizes a bit Signed-off-by: Christian Nunciato <c@nunciato.org> * Remove snowflake styles Signed-off-by: Christian Nunciato <c@nunciato.org> * Extract some Sass partials Signed-off-by: Christian Nunciato <c@nunciato.org> * Define initial purple and blue palettes, use numbered colors instead Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor blog templates Signed-off-by: Christian Nunciato <c@nunciato.org> * Make blog summary a partial, style pagination Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix expanded URLs Signed-off-by: Christian Nunciato <c@nunciato.org> * Rename Documentation to Reference Signed-off-by: Christian Nunciato <c@nunciato.org> * A smattering of minor adjustments Signed-off-by: Christian Nunciato <c@nunciato.org> * Selection state for tags Signed-off-by: Christian Nunciato <c@nunciato.org> * Delete more Bootstrap Signed-off-by: Christian Nunciato <c@nunciato.org> * Comment the banner Signed-off-by: Christian Nunciato <c@nunciato.org> * Restore footer links Signed-off-by: Christian Nunciato <c@nunciato.org> * Legal layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Remove unused layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Refactor careers page Signed-off-by: Christian Nunciato <c@nunciato.org> * Use top-level URLs for legal docs Signed-off-by: Christian Nunciato <c@nunciato.org> * Add RSS for the blog (#1170) * Add RSS for the blog * Cleanup team data (#1195) * Cleanup team data * Add missing newlines at EOF * Blog content as of 6/16 (#1196) * Blog content layout tweaks * Migrated blog content (as of Sun 6/16) * Address PR feedback, replace links to pulumi.io * Add fusion stack Any changes to the `fusion` branch will now be deployed to https://fusion.pulumi.io/. * Fix broken links * Fix broken images in fusion branch (#1207) Deletes unnecessary uses of `BaseURL`. In a small number of cases, where we want to emit an absolute URL that includes the `BaseURL`, use the `absURL` function instead, which is smart about handling missing/extra slashes. * Integrate www content (#1208) Signed-off-by: Christian Nunciato <c@nunciato.org> * Highlight currently selected section tab (#1216) * Remove unused partials (#1215) These are no longer referenced, so they can be removed. Signed-off-by: Christian Nunciato <c@nunciato.org> * Blog content as of 6/24 (#1218) * Port running-containers-in-aws-the-lowdown-ecs-fargate-and-eks * Port building-and-publishing-docker-images-to-a-private-amazon-ecr-repository * Port happy-birthday-to-pulumi-open-source * Commit updates to package-lock.json * Link cleanups and other fixes * Remove 'wip' tag * Restore meta_* fields, tidy up some frontmatter (#1214) Signed-off-by: Christian Nunciato <c@nunciato.org> * Add search (#1217) Signed-off-by: Christian Nunciato <c@nunciato.org> * Hide `.language-prologue-*` by default (#1212) So they all don't initially flash as being visible before all but the selected language are hidden. Port from `_pulumi.scss`. * Limit team members to those with status “active” (#1219) Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix links to datadog provider * Remove top margin from code snippets under lang tabs (#1223) * Update MBR DNA logo (#1222) * Add links to cloud logos (#1221) And use `logo-aws_white.png` for AWS * Remove unnecessary aliases (#1210) Now that we'll be hosting the docs on a new domain, there's no need to maintain these aliases. The old site hosted at https://pulumi.io will have redirects from the old aliases to the new location on the new site. * Pricing page updates (#1224) * Add swooshes to the home, pricing and webinar pages. * Replace “tech” PNGs for GitHub, GitLab, Atlassian and SAML with SVGs, and add an email SVG, in order to align all of their images in the pricing grid. * Add a “See plan details” link above the pricing grid. * Update Font Awesome to version 5.8.1 (to match what's in use on www today) in order to pull in the infinity icons used in the pricing grid. * Align CTA buttons horizontally in adjacent boxes containing content of varying heights. * Fix duplicate links on the home and product pages. Signed-off-by: Christian Nunciato <c@nunciato.org> * Update API docs (#1227) * Update tsdocgen paths * Updated API docs * Fix broken images (#1228) Remove unnecessary `{{ .Site.BaseURL }}` prefix from image URLs. * Fix Hugo build warning about non-relative ref/relref page reference (#1229) * Fix page titles and errant anchors (#1226) * Prevent anchors on the home page * Fix page titles Signed-off-by: Christian Nunciato <c@nunciato.org> * Add a robots.txt file (#1225) This change adds a robots.txt template authorizing seach-engine indexing for all pages of the production site. It assumes that all non-production builds will override the `baseURL` configuration property with something other than `https://pulumi.com/`. Signed-off-by: Christian Nunciato <c@nunciato.org> * Blog content fixes (#1231) * Correct post dates, titles * Revert to previous tags * Unify tags, adjust for display * Replace short, social summaries with longer ones * Use a fixed height for the utility bar (#1232) When the GitHub widget loads asynchronously and pops into view, it causes the whole page to shift downward a few pixels, because the widget is taller than the links beside it. Applying an explicit hight to the utility bar fixes this. Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix TOC expansion for the tour (#1234) We're very likely going to remove the tour and disperse its content elsewhere, but in the meantime, fix the TOC expansion for "Beyond the Basics" items. * Add syntax highlighing to layout templates (#1238) This change adds a partial for highlighting code snippets in layouts. Signed-off-by: Christian Nunciato <c@nunciato.org> * Add home-page video (#1240) Also makes a few slight adjustments to improve mobile layout on the home page. Signed-off-by: Christian Nunciato <c@nunciato.org> * Blog layout and styling improvements (#1237) * Use explicit code blcoks with language * Fix sort order for Author and Tag listings * Make sidebar toggleable on mobile * Resize "poster" image for blog listings * Crop photos to be square * Add posted date, post tags to blog footer * Add recent posts lists to sidebar * Add syntax highlighting to some missed posts * Fix Hugo build warning * Adjust sidebar styling * Cleanup the /docs page (#1239) * Cleanup /docs/aws layouts to match other docs sections * Cleanup /docs pages - Add left nav - Make /docs page look slightly less like a "homepage" - Add top-level "Get Started" and "Reference" headings to left nav * Add `.btn-secondary` and use it in a few places * Remove unnecessary cursor setting (#1245) Should be using the default here. I was debugging and forgot to switch this back before committing. Signed-off-by: Christian Nunciato <c@nunciato.org> * Update the home page video (#1244) This is a slightly shorter version, with typing sections sped up slightly to better respect our visitors’ time. :smile: Signed-off-by: Christian Nunciato <c@nunciato.org> * API doc styling improvements (#1247) * Update API doc styling for Python Bring back the styles used for our Python API docs, convert to use Tailwind, and make further tweaks to make it look even better. For example, all definitions now look like code blocks and indentation and spacing is used to improve the hierarchy of the content. * Only emit the <h1>.Title</h1> if there is a .Title The generated Python API docs don't currently include front matter and therefore do not have a title. We should fix the Python docs gen to do that, but in the meantime, only emit `<h1>.Title</h1>` if the page has a `.Title`, to avoid an unnecessary gap at the top of the page. * Update _pygments.scss to select .highlight instead of .chroma The syntax highlighted code generated by Hugo looks like: ``` <div class="highlight"> <pre class="chroma"> <code class="language-foo"> ... </code> </pre> </div> ``` And our styles looks like: ``` .chroma .k { ... } .chroma .kc { ... } ... ``` This works good, but our generated Python docs, which uses Pygments to do the syntax highlighting, doesn't use `.chroma`, so it doesn't get any syntax highlighting currently, even though all the Pygments classes are there. This is true for our Node.js docs as well, although, based on how we generate the code for that currently, we could relatively easily update the templates to include a `.chroma` class. In all cases, the code that we want highlighted will have a `.highlight` class surrounding it, so just update our styles to select `.highlight` instead of `.chroma`. ``` .highlight .k { ... } .highlight .kc { ... } ... ``` * Update API doc styling for Node.js * Various mobile adjustments and cleanup (#1250) * Pull the hero and section nav into Tailwind "components" and apply them. * Adjust home-page video dimensions accordingly. * Add mobile x-padding to sections that hadn't gotten it yet. * Add an anchor exclusion to the head for the About page. * Fix mobile layout for the Support page. * Fix centering and item distribution on the About page. * Additional minor mobile-related adjustments as encountered. Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix bug in lang chooser (#1249) If I've previously viewed a page in our docs with the language tabs, such as the Get Started guide, and I click the Python tab, that language choice will be persisted to a cookie. If I then visit our Node.js API docs, the lang chooser will see the saved value of "Python" and try to select that tab, hiding all other language snippets. But our Node.js API docs only contain JavaScript and TypeScript snippets, so the end result is that all snippets are hidden and no tab is selected. This change fixes that. If the value in the cookie does not exist in any of the tabs on the page, fallback to the default (JavaScript), otherwise fallback to the first tab that is available on the page. * More small fixes (#1254) * Make the header more responsive Adds padding to medium and above, and adjusts font size and spacing at medium width in order to accommodate the number of items we’re displaying currently. Also uses the full Pulumi logo, since we have room for that now, and adds a little color to the hamburger. Signed-off-by: Christian Nunciato <c@nunciato.org> * Bottom-align the image on the whitepaper layout Also removes the `header` selector from `_hero.scss` in order to reduce the specificity of the rule, allowing it to be overidden more easily with other Tailwind classnames. Signed-off-by: Christian Nunciato <c@nunciato.org> * Add team@pulumi link to the footer Signed-off-by: Christian Nunciato <c@nunciato.org> * Restore the newsroom and investors sections Somehow these got dropped! :scream: Signed-off-by: Christian Nunciato <c@nunciato.org> * Add hero background glows (#1257) Also deletes unused templates. Signed-off-by: Christian Nunciato <c@nunciato.org> * Hide scrollbars if not needed (#1256) * Improve Pricing page responsiveness, fix a few other small things (#1259) * Fix section link on the Why Pulumi page Signed-off-by: Christian Nunciato <c@nunciato.org> * Capitalize Kubernetes in copy Signed-off-by: Christian Nunciato <c@nunciato.org> * Adjust image sizes on Whitepaper page Properly size them on both mobile and desktop. Signed-off-by: Christian Nunciato <c@nunciato.org> * Fix paging on mobile Decrease padding to prevent overflow. Signed-off-by: Christian Nunciato <c@nunciato.org> * Improve Pricing page layout Signed-off-by: Christian Nunciato <c@nunciato.org> * Replace home page video with carousel (#1260) Signed-off-by: Christian Nunciato <c@nunciato.org> * Change Segment module to WWW (#1265) * Hook up new www.pulumi.com/staging stack to CI/CD (#1262) * Move older 'pulumi.io' stacks to infrastructure-old * Add new 'www.pulumi.com' infrastructure folder * Scripts to hook up to CI/CD * Switch back to using generic Travis worker * Add alias to CDN for staging.pulumi.io * Remove alias to staging.pulumi.io * Do not use named profiles for deployments There's an issue today where named profiles which use `credential_source=Environment` don't actually behave correctly with the assume-role tool. Instead of actually assuming the role, it just uses the credentials in the environment, which is not exactly what you want. For now, explicitly set the ARN we want to assume, instead of indirecting across a named profile. * Remove CloudFront alias entirely * Add hover menu (#1266) Signed-off-by: Christian Nunciato <c@nunciato.org> * Hook up new www.pulumi.com/production stack to CI/CD (#1267) * Hook up new www.pulumi.com/production stack to CI/CD * Correct Makefile syntax * Migrate blog posts as of 7/2 (#1268) * Fix Makefile syntax * Fix spelling error ::sigh::
2019-07-02 16:30:33 -07:00
// for 'batchSize = 1' so we will only process a single message at a time.
serverless.queue.subscribe("subscription", sqsQueue, async (event) => {
// Add whatever code you want here to run in the AWS lambda. 'event' will contain the
// all the necessary data about the message added to the queue.
}, { batchSize: 1 });
```
This example also demonstrates several of the great capabilities of a
Pulumi application. First, the ability to define your infrastructure
directly in code (i.e. the AWS Queue, Lambda, and Event Subscriptions),
instead of needing to do that separately. Second, the ability to avoid
needing to specify every single AWS resource necessary to get up and
running. For example, I did not have to supply explicit Roles,
Role-Policy-Attachments, or Permissions here as Pulumi took care of that
for me by default. Third, the ability to create an AWS Lambda directly
from a JavaScript/TypeScript arrow-function. That `async (event) => ...`
is written in code as a normal async-arrow-function, but it will be
converted by Pulumi into all the machinery necessary to have a true AWS
Lambda running in your infrastructure.
After adding the API and writing up a simple app to test things, we then
ran a `pulumi update` to deploy our application to AWS. Unfortunately,
we immediately ran into a problem:
```
Plan apply failed:
Error creating Lambda event source mapping: ValidationException: 1 validation error detected: Value '' at
'startingPosition' failed to satisfy constraint: Member must satisfy enum value set:
[LATEST, AT_TIMESTAMP, TRIM_HORIZON]
```
So what happened? Well, as it turns out, Pulumi leverages and integrates
with many other amazing Open Source projects under the covers. In this
case, it was our integration with [Terraform](https://www.terraform.io/)
that was causing this small snag. It turns out that while Amazon relaxed
their API to no longer have that constraint on 'startingPosition',
Terraform was still referencing an older awssdk API that still contained
that constraint.
At Pulumi we think that Terraform is fantastic, and we love using it. So
we thought the best thing we could do in this position was to help out
that project to support this new functionality as well. We did this
around two weeks ago by contributing [this PR](https://github.com/terraform-providers/terraform-provider-aws/pull/5024)
to their project. We worked with Terraform over a couple over a few days
to get the PR up to snuff, and eventually got it in. With this, now both
Terraform and Pulumi customers will be able to benefit from these
changes in the upcoming releases for both projects!
After getting the change in we went back and tested our example and saw
that now everything worked as expected. We also expanded things out
[in an example](https://github.com/pulumi/pulumi-aws/blob/master/examples/queue/index.ts)
to show how you might use this in practice. In this example, we receive
the event, and then just write the data of it into an [S3 Bucket](https://aws.amazon.com/s3/). Running this example we now
successfully see:
```
pulumi update
Updating stack 'cysqstest'
Performing changes:
Type Name Status
+ pulumi:pulumi:Stack queue-cysqstest created
+ ├─ aws:serverless:Function subscription-queue-subscription created
+ │ ├─ aws:iam:Role subscription-queue-subscription created
+ │ ├─ aws:iam:RolePolicyAttachment subscription-queue-subscription-32be53a2 created
+ │ ├─ aws:iam:RolePolicyAttachment subscription-queue-subscription-7cd09230 created
+ │ └─ aws:lambda:Function subscription-queue-subscription created
+ ├─ aws:sqs:Queue queue created
+ ├─ aws:s3:Bucket testbucket created
+ └─ aws-serverless:queue:QueueEventSubscription subscription created
+ ├─ aws:lambda:Permission subscription created
+ └─ aws:lambda:EventSourceMapping subscription created
info: 11 changes performed:
+ 11 resources created
Update duration: 28s
```
Once created, we could then see this Stack at <https://app.pulumi.com>,
and we could easily use the functionality there to even navigate to
those resources over at our [AWS Console](https://console.aws.amazon.com). Over there were were able to
use the console to both send a message to the Queue, verify our Lambda
got triggered, and even check our Bucket to see the data written into
it. In only around a dozen lines of code, we were able to provision 11
AWS resources, and create a real end-to-end Serverless message-receiving
and processing pipeline. Now, we can expand on this functionality with
more resources or more functionality, run `pulumi update` and just
simply and safely update our cloud infrastructure!
You'll see this functionality lighting up in our next release of
`@pulumi/pulumi` and `@pulumi/aws-serverless`. We hope it helps you out
and makes your cloud life that much easier. Happy coding!