mirror of
https://github.com/jbowdre/phpIPAM-for-vRA8.git
synced 2024-11-21 22:42:20 +00:00
35 lines
2.9 KiB
Markdown
35 lines
2.9 KiB
Markdown
# phpIPAM Integration for vRealize Automation 8.x
|
|
This integration allows vRealize Automation 8.x to use [phpIPAM](https://phpipam.net) for assigning static IP addresses to provisioned virtual machines. Built against vRA 8.2.0.12946 and phpIPAM 1.5.
|
|
|
|
Details on how I built this (as well as notes on how I configured phpIPAM to work correctly with this plugin) can be found here:
|
|
https://virtuallypotato.com/integrating-phpipam-with-vrealize-automation-8
|
|
|
|
## Prerequisites
|
|
|
|
- phpIPAM 1.5 must be installed, configured, and available over HTTPS
|
|
- Consult the [phpIPAM installation docs](https://phpipam.net/documents/installation/)
|
|
- Subnets [must be defined in phpIPAM](https://virtuallypotato.com/integrating-phpipam-with-vrealize-automation-8#step-2-configuring-phpipam-subnets).
|
|
- (Optional) A [Custom Field](docs/custom_field.md) defined to identify subnets which should be available to vRA.
|
|
- Note: I previously used the built-in `isPool` field, but this is not ideal with versions of phpIPAM 1.5 since a [change on April 4, 2022](https://github.com/phpipam/phpipam/commit/7de080b8) which made the subnet and broadcast addresses (`x.x.x.0` and `x.x.x.255`) assignable on networks with this field set. Use a [Custom Field](docs/custom_field.md) instead.
|
|
- A trusted SSL certificate is not required; vRA will prompt to confirm the certificate when the connection is initially validated.
|
|
|
|
## Usage
|
|
### From the phpIPAM web interface:
|
|
1. **Administration > phpIPAM Settings > Feature Settings** and enable the **API** option.
|
|
2. **Administration > phpIPAM Settings > Users** and create a new user to be used by vRA.
|
|
3. **Administration > phpIPAM Settings > API** and create a new API key with *Read/Write* permissions and *SSL with User Token* security. Make a note of the selected *App ID* field (not the auto-generated *App Code*).
|
|
|
|
### In vRealize Automation:
|
|
1. Go to **Cloud Assembly > Infrastructure > Integrations** and **Add Integration**.
|
|
2. Select the **IPAM** integration type.
|
|
3. Give it a name, then click **Manage IPAM Providers > Import Provider Package**.
|
|
4. Upload `phpIPAM.zip` (get it [here](https://github.com/jbowdre/phpIPAM-for-vRA8/releases/latest)).
|
|
5. Back at the **New Integration** page, click the **Provider** dropdown and select *phpIPAM*.
|
|
6. Enter the **API App ID**, **Username**, **Password**, and **Hostname** of the phpIPAM server (fully-qualified name or IP address).
|
|
7. (Optional) [Configure the subnet filter](docs/custom_field.md#configure-integration).
|
|
7. Click **Validate** to verify the information. It may take a minute or two for the validation to complete.
|
|
8. Once validated, click **Add**.
|
|
|
|
You can then learn how to utilize the new IPAM integration [here](https://docs.vmware.com/en/vRealize-Automation/8.2/Using-and-Managing-Cloud-Assembly/GUID-9AE32BD7-2D1B-4FEE-881F-A0EDE5907D10.html)
|
|
|
|
See [VMware's IPAM SDK README](README_VMware.md) for information on how to adapt the code if needed.
|