---
title: "IPAM configuration"
description: "Reference for the IP address management configuration resource in Calico Enterprise that sets cluster-wide options such as strict affinity."
product: "Calico Enterprise"
version: "3.23 (latest)"
section: "Reference"
canonical_url: "https://docs.tigera.io/calico-enterprise/latest/reference/resources/ipamconfig"
---

# IPAM configuration

An IPAM configuration resource (`IPAMConfiguration`) represents global IPAM configuration options.

## Sample YAML

```yaml
apiVersion: projectcalico.org/v3
kind: IPAMConfiguration
metadata:
  name: default
spec:
  strictAffinity: false
  maxBlocksPerHost: 4
  kubeVirtVMAddressPersistence: Enabled
```

## IPAM configuration definition

### Metadata

| Field  | Description                                               | Accepted Values | Schema |
| ------ | --------------------------------------------------------- | --------------- | ------ |
| `name` | Unique name to describe this resource instance. Required. | default         | string |

The resource is a singleton which must have the name `default`.

### Spec

| Field                          | Description                                                                                                                           | Accepted Values   | Schema | Default |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------- | ----------------- | ------ | ------- |
| `strictAffinity`               | When StrictAffinity is true, borrowing IP addresses is not allowed.                                                                   | true, false       | bool   | false   |
| `maxBlocksPerHost`             | The max number of blocks that can be affine to each host.                                                                             | 0 - max(int32)    | int    | 20      |
| `kubeVirtVMAddressPersistence` | Controls whether KubeVirt VMs retain persistent IP addresses across lifecycle events such as restart or migration. Requires KubeVirt. | Enabled, Disabled | string | Enabled |

## Supported operations

| Datastore type        | Create | Delete | Update | Get/List |
| --------------------- | ------ | ------ | ------ | -------- |
| etcdv3                | Yes    | Yes    | Yes    | Yes      |
| Kubernetes API server | Yes    | Yes    | Yes    | Yes      |
