> For the complete documentation index, see [llms.txt](https://docs.infraglide.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infraglide.com/visual-canvas-and-pipeline-designer/component-library.md).

# Component Library

## Component Library

The **Component Library** is the left-hand drawer in the Pipeline Designer. Use it to browse, filter, and drag AWS, Azure, or GCP resources onto the canvas.

Header title: **Components**. Subtitle: **Drag to canvas**.

***

### Overview

![alt text](/files/AQgnJtOH3CxNLHZQetNJ)

***

### Opening and Layout

* Visible by default when you open the designer.
* **Collapse / expand** the library with the chevron button (◀ / ▶) on the right edge of the panel — the drawer shrinks to a narrow icon-strip showing only the "Components" label rotated vertically.
* Provider tabs: **AWS**, **Azure**, **GCP**.
* Search field placeholder: **Search components…**
* Categories are collapsible and show a **count badge** (number of items in that category).

***

### Collapsing & Expanding the Drawer

The library has a dedicated **collapse button** (chevron icon, positioned on the right edge of the panel):

![alt text](/files/UGNCBgvkoLabCNzCRFpU)

* **Expanded** state — full panel (\~240px wide) with search, tabs, and component list.
* **Collapsed** state — narrow icon strip (\~48px) showing a cloud icon and rotated "Components" label.
* Click the chevron button on the right edge to toggle between states.

This gives you more canvas space when you don't need to browse components.

***

### Provider Tabs

| Situation                      | Behavior                                                                            |
| ------------------------------ | ----------------------------------------------------------------------------------- |
| Unsaved pipeline, empty canvas | Switching tabs changes the active provider immediately                              |
| Unsaved pipeline with nodes    | A **confirmation modal** appears asking to clear the canvas when switching provider |
| Saved pipeline                 | Provider switching is **disabled** — an info banner explains this                   |
| Org policy blocks a provider   | Tab appears muted / not clickable; amber banner lists disabled providers            |
| Viewer-only access             | Drag-drop disabled; info banner: "You have view-only access"                        |

Always confirm the header **Workspace / Sandbox** and the pipeline provider before large design sessions.

***

### Categories

All three providers use the same category order:

1. Containers
2. Compute
3. Storage
4. Database & Caching
5. Analytics & Data
6. Networking & CDN
7. Security & Management

Categories are collapsible — click the category header to show/hide items. The badge next to each category header shows the item count.

Container items show a **dashed border** and a **Container** badge (color-matched to the provider brand) so you can distinguish structural nodes from leaf resources.

Active resource suites per cloud provider:

* **AWS** — 30+ enterprise cloud components
* **GCP** — 40+ enterprise cloud components
* **Azure** — 40+ enterprise cloud components

***

### Sub-Items (Nested Components)

Some components in the library have **collapsible sub-items** — a chevron button (▼/▶) on the right side of the component row toggles them. Sub-items are child resource types that are logically grouped under a parent (for example, specialized variants of a compute type).

Search applies to both parent items and sub-items by name and type.

***

### Search

Search matches component **name**, **type**, and nested sub-item names/types. Results filter in real-time as you type:

![alt text](/files/VR8khCK1HBgwzorOwVbb)

* If a parent item matches the query, all its sub-items are shown.
* If only sub-items match, just the matching sub-items appear under the parent.
* Empty search restores the full list.

Combine search with category collapse to find a resource quickly in large palettes.

***

### AWS Resource Info Popover (ℹ)

For **AWS** components, each library item includes a small **(ℹ) info icon** on the right side. Clicking it opens a **Resource Info Popover** with:

![alt text](/files/8vkjl9MCKai0O8d1zxj1)

* A description of the AWS resource.
* Key use-cases and notes relevant to InfraGlide.

This popover is AWS-specific — Azure and GCP items do not show the info icon.

***

### Drag and Drop

1. Drag a component from the drawer.
2. Drop it on the canvas (or inside a valid container). ![alt text](/files/c90iGWIoAjTSNVAqQcuq)
3. InfraGlide creates a node with default size and config, then you open **Configuration** to fill required fields.

**Invalid placements** (for example nesting a VPC inside a Subnet) show an **Invalid placement** toast and are rejected or re-parented according to hierarchy rules. See [Container Nodes & Resource Grouping](/visual-canvas-and-pipeline-designer/container-nodes.md).

![alt text](/files/wJtlsiX94pIf6hUYbLcO)

Components **incompatible** with the pipeline's pinned provider version appear greyed out (opacity reduced, tooltip: "Incompatible with the pipeline's pinned provider version") and cannot be dragged.

If the pipeline is already deployed, the library shows a green info banner: **"Deployed (vN). Add or remove resources freely — Save or Deploy will ask whether to update this version or create a new one."**

***

### After You Drop a Component

![alt text](/files/o4rK3u70oo8m6WqRo7hs)

* Use the hover action bar → **Configuration** to edit properties. ![alt text](/files/ls07sL2y55K4THun6a9G)
* Nest inside containers for automatic location / network inheritance. ![alt text](/files/RxlXOyB5PpHD6eaGyQmb)
* Draw connectors for explicit dependencies when needed. ![alt text](/files/mhaAzvdqGuXm4pGZD4ga)
* **Save** before Preview or Deploy — only saved resource components and connections are generated to Terraform. ![alt text](/files/pDKy7b9qA8cZU0V3bohX)

***

### See also

* [Designer Interface Overview](/visual-canvas-and-pipeline-designer/interface-overview.md)
* [Container Nodes & Resource Grouping](/visual-canvas-and-pipeline-designer/container-nodes.md)
* [Inheritance & Dynamic Grouping](/visual-canvas-and-pipeline-designer/dynamic-inheritance.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.infraglide.com/visual-canvas-and-pipeline-designer/component-library.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
