# Shapes

Shapes are used to define sizes of instances and to allow control over node selection for new instances. If there are high performance nodes and low performance nodes these can be placed into two instance shapes such as `m2-standard` and `m3-standard` . This will allow the user to select the shape suitable for the instance and a node will be selected based on which node has the most available CPU and memory. Shapes are associated with nodes by matching roles. This can be done for example by adding `shape-m2` to the shape *Roles* then adding that same role to all the nodes that fit that shape.

### Flexible Shapes

Flexible shapes define default processor and memory size but allow these to be overridden when creating the instance or in the pod spec.


---

# Agent Instructions: 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:

```
GET https://docs.pritunl.com/kb/cloud/components/shapes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
