--- title_tag: Abstraction & Encapsulation Overview | Learn Pulumi title: "Abstraction and Encapsulation" layout: module date: 2021-11-17 description: | Explore abstraction and encapsulation with Pulumi and component resources. meta_desc: In this tutorial, we will explore using Pulumi to abstract and encapsulate your resource definitions as reusable models for others to use. index: 6 meta_image: meta.png level: intermediate youll_learn: - Encapsulating Pulumi components - Making reusable abstractions - Building your own resources tags: - learn - components providers: - aws --- ## Time How long this tutorial will take depends on your internet connection, reading speed, and other factors. On average, this tutorial should take you about 25 minutes to complete. ## Prerequisites You will need the following knowledge to complete this pathway: - Completion of the [Pulumi Fundamentals](/learn/pulumi-fundamentals/) and [Building with Pulumi](/learn/building-with-pulumi/) pathways, OR have experience using Pulumi for other projects Optionally, if you want to build some of the examples yourself to experiment, you'll need the following tools and skills: - A [Pulumi account and token](/docs/pulumi-cloud/accounts#access-tokens) - If you don't have an account, go to the [signup page](https://app.pulumi.com/signup). - The [Pulumi CLI](/docs/cli/commands/) - If you don't have the CLI, go to the [installation page](/docs/install/). - An AWS account (the free version should be fine) - Familiarity with either the TypeScript or Python programming language ## About this pathway In this pathway, we will explore how you can use Pulumi as a tool to help you abstract and encapsulate your resource definitions as reusable models for others to use.