{"value":"We are excited to announce the [Construct Hub](https://constructs.dev/) developer preview. It is a one-stop destination for finding, reusing and sharing constructs authored by AWS, [AWS Partner Network](https://aws.amazon.com/cn/partners/) partners, third parties, and the developer community. In the preview version of the website, we list constructs for Python and TypeScript programming languages. CDK constructs are cloud architecture building blocks and patterns that you can use to stand up complete production-ready cloud applications. The constructs listed in the Construct Hub are authored using the [AWS Cloud Development Kit](https://aws.amazon.com/cn/cdk/) (AWS CDK), CDK for Kubernetes (CDK8s) and [CDK for Terraform](https://github.com/hashicorp/terraform-cdk) (CDKtf).\n\n![image.png](https://dev-media.amazoncloud.cn/590e3790eafa4310a642804f37bc376b_image.png)\n\nWe define [constructs](https://github.com/aws/constructs) as classes, which define a “piece of system state”. Constructs can be composed together to form higher-level building blocks which represent more complex state. AWS, enterprises, start-ups, and individual developers use CDK constructs to share proven architecture patterns as reusable code libraries, so that everyone can benefit from the collective wisdom of the community.\n\nAs the CDK developer community has grown, customers have told us that they do not have an easy way to find the construct libraries created by the community because the constructs have been published through various package managers. The Construct Hub will now be a central location where CDK users can find a comprehensive collection of constructs to help them build their applications. The Construct Hub makes it easier for developers to find the high-level building blocks they need to build their applications by listing publicly released construct libraries.\n\n[Thorsten Höger](https://www.linkedin.cn/uas/login?session_redirect=https%3A%2F%2Fwww.linkedin.cn%2Finjobs%2Fin%2Fhoegertn%2F) (CEO @ Taimos GmbH, [AWS DevTools Hero](https://aws.amazon.com/cn/developer/community/heroes/thorsten-hoger/)) says:\n\n- I love the new Construct Hub. It makes it so easy to find already implemented constructs that solve the use cases I need to build. From an author’s point of view, it is great as it increases visibility for your construct libraries and lets people find your projects way easier. The Construct Hub really helps the maintainers and the users of third-party libraries to find each other and to build a wonderful ecosystem.\n\nThe Construct Hub is available today in preview and is free to use.\n\n#### **Discovering and using constructs**\n\nBrowse to https://constructs.dev and search for constructs based on keywords such as names of AWS services used (e.g., “[eks](https://constructs.dev/search?q=eks&offset=0)”, “[dynamodb](https://constructs.dev/search?q=dynamodb&offset=0)”), the library’s author (e.g., “[pahud](https://constructs.dev/search?q=pahud&offset=0)”), or the target provisioning engine (e.g., “[cdktf](cdktf)”, “[cdk8s](https://constructs.dev/search?q=cdk8s&offset=0)”). Examples of constructs you can find include [datadog-cdk-constructs](https://constructs.dev/packages/datadog-cdk-constructs/) that instruments Python and Node.js Lambda functions with Datadog, [cdk-gitlab-runner](https://constructs.dev/packages/cdk-gitlab-runner/v/1.115.369) that creates a GitLab Runner and executes a pipeline job, [cdk-k3s-cluster ](https://constructs.dev/packages/cdk-k3s-cluster/v/0.0.59?lang=typescript) that deploys a K3s cluster, and many more. The Construct Hub website also includes links to Getting Started resources. Below is an example of search results for constructs that include the “bucket” keyword and support the Python programming language:\n\n![image.png](https://dev-media.amazoncloud.cn/a80ff201b0b84144aa8ce0c9efb43ea4_image.png)\n\nConstruct libraries listed on the Construct Hub include a detail page with instructions on how to install the package (click “Use Construct”) and an API reference that describes all the classes, interfaces, enums and data types in this library. The API reference and code samples are displayed in the selected programming language and are automatically generated from type information produced by the [JSII](https://aws.github.io/jsii/) compiler (JSII is a TypeScript-based programming language for creating multi-language libraries).\n\n![image.png](https://dev-media.amazoncloud.cn/8a795029ffaa4f42b006ee74db184d4c_image.png)\n\n#### **Listing constructs on the Construct Hub**\n\nIn order for your construct to be listed on the Construct Hub, you need to make sure it is authored with the following criteria:\n\n- Published to the [npmjs.com](https://www.npmjs.com/) registry\n- Uses a permissive license (```Apache```\n, ```BSD```, ```MIT```)\n- Annotated with one of the supported keywords (awscdk, cdk8s or cdktf)\n- Compiled with [JSII](https://aws.github.io/jsii/)\n\nAs a construct library publisher, you can improve the presentation of your construct library on the Construct Hub by:\n\n- Adding links to the construct source code and documentation\n- Including a README file with usage instructions\n- Adding relevant keywords that will be displayed on the package page and can be used for search\n\n#### **Things to know**\n\nHere are a couple of things to keep in mind:\n\n- We are working on a [construct-hub](https://github.com/cdklabs/construct-hub) library to enable customers deploy an instance of Construct Hub for internal use\n- The constructs are owned by the publishers of the packages. Constructs are user-generated content that are governed by their own license terms which is displayed in the search results and can be accessed directly through the hyperlinked package page\n- CDK Construct Catalog ([https://awscdk.io](https://awscdk.io/)) now redirects to Construct Hub ([https://constructs.dev](https://constructs.dev/))\n\n#### **We look forward to collaborating with you!**\n\nThis is an [open-source](https://github.com/cdklabs/construct-hub-webapp) preview, and we need your help to make the Construct Hub the best end-to-end experience for discovering and sharing constructs. You can follow the guidelines above for listing new constructs on the Construct Hub, review your existing constructs (README, code samples) and/or add support for additional programming languages.\n\nVisit the [project board](https://github.com/orgs/cdklabs/projects/1) in the CDK Labs at AWS GitHub repository to learn about continuing development as the Construct Hub approaches stability. Open an [issue](https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fcdklabs%2Fconstruct-hub-webapp%2Fissues%2Fnew%2Fchoose) for any bugs you may encounter as well as features that you would like to see added, file a [pull request](https://github.com/cdklabs/construct-hub-webapp/pulls), or [star](https://github.com/cdklabs/construct-hub-webapp/stargazers) the project to show us you care. The Construct Hub [FAQ](https://constructs.dev/faq) contains additional details on the project. You are also welcome to join the ```#construct-hub-dev```channel in [CDK community](https://cdk.dev/) Slack workspace.\n\n#### **About the author**\n\n![image.png](https://dev-media.amazoncloud.cn/143fd09614f84f3e9eb1e3fa6edcfc6d_image.png)\nAlex Pulver is a Sr. Partner Solutions Architect at AWS SaaS Factory team. He works with AWS Partners at any stage of their software-as-a-service (SaaS) journey to help build new products, migrate existing applications, or optimize SaaS solutions on AWS. His ares of interest include builder experience (e.g., developer tools, DevOps culture, CI/CD), containers, security, IoT, and AWS multi-account strategy.\n\n\n\n","render":"<p>We are excited to announce the <a href=\"https://constructs.dev/\" target=\"_blank\">Construct Hub</a> developer preview. It is a one-stop destination for finding, reusing and sharing constructs authored by AWS, <a href=\"https://aws.amazon.com/cn/partners/\" target=\"_blank\">AWS Partner Network</a> partners, third parties, and the developer community. In the preview version of the website, we list constructs for Python and TypeScript programming languages. CDK constructs are cloud architecture building blocks and patterns that you can use to stand up complete production-ready cloud applications. The constructs listed in the Construct Hub are authored using the <a href=\"https://aws.amazon.com/cn/cdk/\" target=\"_blank\">AWS Cloud Development Kit</a> (AWS CDK), CDK for Kubernetes (CDK8s) and <a href=\"https://github.com/hashicorp/terraform-cdk\" target=\"_blank\">CDK for Terraform</a> (CDKtf).</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/590e3790eafa4310a642804f37bc376b_image.png\" alt=\"image.png\" /></p>\n<p>We define <a href=\"https://github.com/aws/constructs\" target=\"_blank\">constructs</a> as classes, which define a “piece of system state”. Constructs can be composed together to form higher-level building blocks which represent more complex state. AWS, enterprises, start-ups, and individual developers use CDK constructs to share proven architecture patterns as reusable code libraries, so that everyone can benefit from the collective wisdom of the community.</p>\n<p>As the CDK developer community has grown, customers have told us that they do not have an easy way to find the construct libraries created by the community because the constructs have been published through various package managers. The Construct Hub will now be a central location where CDK users can find a comprehensive collection of constructs to help them build their applications. The Construct Hub makes it easier for developers to find the high-level building blocks they need to build their applications by listing publicly released construct libraries.</p>\n<p><a href=\"https://www.linkedin.cn/uas/login?session_redirect=https%3A%2F%2Fwww.linkedin.cn%2Finjobs%2Fin%2Fhoegertn%2F\" target=\"_blank\">Thorsten Höger</a> (CEO @ Taimos GmbH, <a href=\"https://aws.amazon.com/cn/developer/community/heroes/thorsten-hoger/\" target=\"_blank\">AWS DevTools Hero</a>) says:</p>\n<ul>\n<li>I love the new Construct Hub. It makes it so easy to find already implemented constructs that solve the use cases I need to build. From an author’s point of view, it is great as it increases visibility for your construct libraries and lets people find your projects way easier. The Construct Hub really helps the maintainers and the users of third-party libraries to find each other and to build a wonderful ecosystem.</li>\n</ul>\n<p>The Construct Hub is available today in preview and is free to use.</p>\n<h4><a id=\"Discovering_and_using_constructs_14\"></a><strong>Discovering and using constructs</strong></h4>\n<p>Browse to https://constructs.dev and search for constructs based on keywords such as names of AWS services used (e.g., “<a href=\"https://constructs.dev/search?q=eks&offset=0\" target=\"_blank\">eks</a>”, “<a href=\"https://constructs.dev/search?q=dynamodb&offset=0\" target=\"_blank\">dynamodb</a>”), the library’s author (e.g., “<a href=\"https://constructs.dev/search?q=pahud&offset=0\" target=\"_blank\">pahud</a>”), or the target provisioning engine (e.g., “<a href=\"cdktf\" target=\"_blank\">cdktf</a>”, “<a href=\"https://constructs.dev/search?q=cdk8s&offset=0\" target=\"_blank\">cdk8s</a>”). Examples of constructs you can find include <a href=\"https://constructs.dev/packages/datadog-cdk-constructs/\" target=\"_blank\">datadog-cdk-constructs</a> that instruments Python and Node.js Lambda functions with Datadog, <a href=\"https://constructs.dev/packages/cdk-gitlab-runner/v/1.115.369\" target=\"_blank\">cdk-gitlab-runner</a> that creates a GitLab Runner and executes a pipeline job, <a href=\"https://constructs.dev/packages/cdk-k3s-cluster/v/0.0.59?lang=typescript\" target=\"_blank\">cdk-k3s-cluster </a> that deploys a K3s cluster, and many more. The Construct Hub website also includes links to Getting Started resources. Below is an example of search results for constructs that include the “bucket” keyword and support the Python programming language:</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/a80ff201b0b84144aa8ce0c9efb43ea4_image.png\" alt=\"image.png\" /></p>\n<p>Construct libraries listed on the Construct Hub include a detail page with instructions on how to install the package (click “Use Construct”) and an API reference that describes all the classes, interfaces, enums and data types in this library. The API reference and code samples are displayed in the selected programming language and are automatically generated from type information produced by the <a href=\"https://aws.github.io/jsii/\" target=\"_blank\">JSII</a> compiler (JSII is a TypeScript-based programming language for creating multi-language libraries).</p>\n<p><img src=\"https://dev-media.amazoncloud.cn/8a795029ffaa4f42b006ee74db184d4c_image.png\" alt=\"image.png\" /></p>\n<h4><a id=\"Listing_constructs_on_the_Construct_Hub_24\"></a><strong>Listing constructs on the Construct Hub</strong></h4>\n<p>In order for your construct to be listed on the Construct Hub, you need to make sure it is authored with the following criteria:</p>\n<ul>\n<li>Published to the <a href=\"https://www.npmjs.com/\" target=\"_blank\">npmjs.com</a> registry</li>\n<li>Uses a permissive license (<code>Apache</code><br />\n, <code>BSD</code>, <code>MIT</code>)</li>\n<li>Annotated with one of the supported keywords (awscdk, cdk8s or cdktf)</li>\n<li>Compiled with <a href=\"https://aws.github.io/jsii/\" target=\"_blank\">JSII</a></li>\n</ul>\n<p>As a construct library publisher, you can improve the presentation of your construct library on the Construct Hub by:</p>\n<ul>\n<li>Adding links to the construct source code and documentation</li>\n<li>Including a README file with usage instructions</li>\n<li>Adding relevant keywords that will be displayed on the package page and can be used for search</li>\n</ul>\n<h4><a id=\"Things_to_know_40\"></a><strong>Things to know</strong></h4>\n<p>Here are a couple of things to keep in mind:</p>\n<ul>\n<li>We are working on a <a href=\"https://github.com/cdklabs/construct-hub\" target=\"_blank\">construct-hub</a> library to enable customers deploy an instance of Construct Hub for internal use</li>\n<li>The constructs are owned by the publishers of the packages. Constructs are user-generated content that are governed by their own license terms which is displayed in the search results and can be accessed directly through the hyperlinked package page</li>\n<li>CDK Construct Catalog (<a href=\"https://awscdk.io/\" target=\"_blank\">https://awscdk.io</a>) now redirects to Construct Hub (<a href=\"https://constructs.dev/\" target=\"_blank\">https://constructs.dev</a>)</li>\n</ul>\n<h4><a id=\"We_look_forward_to_collaborating_with_you_48\"></a><strong>We look forward to collaborating with you!</strong></h4>\n<p>This is an <a href=\"https://github.com/cdklabs/construct-hub-webapp\" target=\"_blank\">open-source</a> preview, and we need your help to make the Construct Hub the best end-to-end experience for discovering and sharing constructs. You can follow the guidelines above for listing new constructs on the Construct Hub, review your existing constructs (README, code samples) and/or add support for additional programming languages.</p>\n<p>Visit the <a href=\"https://github.com/orgs/cdklabs/projects/1\" target=\"_blank\">project board</a> in the CDK Labs at AWS GitHub repository to learn about continuing development as the Construct Hub approaches stability. Open an <a href=\"https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fcdklabs%2Fconstruct-hub-webapp%2Fissues%2Fnew%2Fchoose\" target=\"_blank\">issue</a> for any bugs you may encounter as well as features that you would like to see added, file a <a href=\"https://github.com/cdklabs/construct-hub-webapp/pulls\" target=\"_blank\">pull request</a>, or <a href=\"https://github.com/cdklabs/construct-hub-webapp/stargazers\" target=\"_blank\">star</a> the project to show us you care. The Construct Hub <a href=\"https://constructs.dev/faq\" target=\"_blank\">FAQ</a> contains additional details on the project. You are also welcome to join the <code>#construct-hub-dev</code>channel in <a href=\"https://cdk.dev/\" target=\"_blank\">CDK community</a> Slack workspace.</p>\n<h4><a id=\"About_the_author_54\"></a><strong>About the author</strong></h4>\n<p><img src=\"https://dev-media.amazoncloud.cn/143fd09614f84f3e9eb1e3fa6edcfc6d_image.png\" alt=\"image.png\" /><br />\nAlex Pulver is a Sr. Partner Solutions Architect at AWS SaaS Factory team. He works with AWS Partners at any stage of their software-as-a-service (SaaS) journey to help build new products, migrate existing applications, or optimize SaaS solutions on AWS. His ares of interest include builder experience (e.g., developer tools, DevOps culture, CI/CD), containers, security, IoT, and AWS multi-account strategy.</p>\n"}