phpIPAM-for-vRA8/README.md

36 lines
2.9 KiB
Markdown
Raw Normal View History

# phpIPAM Integration for vRealize Automation 8.x
2021-01-15 22:15:14 +00:00
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.
2021-01-11 23:14:27 +00:00
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
2021-01-11 23:14:27 +00:00
- 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.
2021-01-11 23:14:27 +00:00
## Usage
### From the phpIPAM web interface:
2021-01-15 22:15:14 +00:00
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*).
2021-01-11 23:14:27 +00:00
### In vRealize Automation:
2021-01-15 22:15:14 +00:00
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**.
2021-01-15 22:18:17 +00:00
4. Upload `phpIPAM.zip` (get it [here](https://github.com/jbowdre/phpIPAM-for-vRA8/releases/latest)).
2021-01-15 22:15:14 +00:00
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).
2021-01-15 22:15:14 +00:00
7. Click **Validate** to verify the information. It may take a minute or two for the validation to complete.
8. Once validated, click **Add**.
2021-01-11 23:14:27 +00:00
2021-01-15 22:15:14 +00:00
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)
2021-01-11 23:14:27 +00:00
2021-01-15 22:15:14 +00:00
See [VMware's IPAM SDK README](README_VMware.md) for information on how to adapt the code if needed.