# IPAM

> Configure and use the OneFuse IPAM module with the Python module

---

Site [llms.txt](/llms.txt)

---

To learn more about this OneFuse module, refer to [IPAM](/docs/onefuse/configure/modules/ipam/).

## Prerequisites

1. [Configure OneFuse Manager](/docs/onefuse/consume/python-module/getting-started/#configure-onefuse-manager)
1. Review an overview on [OneFuse Modules](/docs/onefuse/consume/python-module/modules/) with OneFuse Python Module

## Provision

Reserve IP Addresses for a resource.

### Method

```python
#Run the following in the Python Console
#Assumes OneFuse Manager is instantiated to 'ofm' variable

ofm.provision_ipam('<policy_name>', <template_properties>, '<hostname>', '<tracking_id>')
```

### Parameter references

The following defines the function of each IPAM specific parameter.

| Parameter Name | Required? | Notes |
| --- | --- | --- |
| `policy_name` | Required | OneFuse Module Policy Name (string). |
| `template_properties` | *Optional* | Additional properties that are referenced within the Policy. Python [dict](https://www.w3schools.com/python/python_dictionaries.asp) format. |
| `tracking_id` | *Optional* | Tracking ID (string) to link multiple OneFuse Policy Executions and resulting OneFuse Managed Objects together. If none is passed, one gets generated by OneFuse for that specific Policy Execution. |

**OneFuse Python Module Tracking ID methods:**

| Method Name | Notes |
| --- | --- |
| `create_tracking_id()` | Generate a unique Tracking ID to link OneFuse Policy Executions and the resulting Managed Objects together. |
| `get_tracking_id_from_mo('<Path to OneFuse Managed Object>')` | Get the Tracking ID from a OneFuse Managed Object. |
| `add_tracking_id_to_headers('<Tracking ID>')` | Add Tracking ID into request headers. When making custom requests to OneFuse instead of using OneFuse Python Module methods provided. |

Learn more about OneFuse [Tracking ID](/docs/onefuse/concepts/tracking-id/).

**IPAM specific parameters:**

| Parameter Name | Required? | Notes |
| --- | --- | --- |
| `hostname` | **Required** | Hostname for the IP Address |

---

## Deprovision

Release a reserved IP Address for a resource.

### Method

```python
#Run the following in the Python Console
#Assumes OneFuse Manager is instantiated to 'ofm' variable

ofm.deprovision_ipam('<ipam_id>')
```

### Parameter references

The following defines the function of the method parameter.

| Parameter Name | Required? | Notes |
| --- | --- | --- |
| `ipam_id` | Required | ID of the OneFuse IP Address Record Managed Object |
