This is a Third-Party IPAM Provider for VMware Aria Automation (formerly VMware Realize Automation) that integrates with the Netbox DCIM/IPAM platform.
This first iteration is pretty rudimentary, but it is reliable. Feel free to add or request features. See the README_sdk.md for original SDK docs, troubleshooting, and developer info.
Special thanks to @jbowdre's blog about his phpIPAM integration: https://runtimeterror.dev/integrating-phpipam-with-vrealize-automation-8. He helped fill in some gaps where other docs could not.
- Support for
prefixes
orip-ranges
NetBox objects. - Provision IP Addresses via Cloud Assembly templates.
- Configure IP Ranges for imported cloud account networks.
- (Optional) Prevent IP Conflicts with addresses not tracked in NetBox.
- Docker
- Apache Maven
- Java 8
- Python 3
- NetBox 3.6.X+ Installation
- VMware Aria Automation 8.14+
Per VMware (README_vmw.md), the provider can be packaged via:
sudo mvn package -PcollectDependencies
Note: If you're on linux you should add the -Duser.id=${UID}
parameter.
Building the package for the first time should include the -PcollectDependencies
parameter, but subsequent runs should only require this flag if new Python packages were added.
- Navigate to
Assembler
>Infrastructure
>Connections
>Integrations
- Select
+ Add Integration
- Select
IPAM
- Select
Manage IPAM Providers
>Import Provider Package
- Upload the
netbox.zip
file - Select
Complete
- Click in
Search for IPAM Providers
and selectNetBox
- Enter the following details:
NetBox Username
- vRA requires the
privateKeyId
field to be populated - The IPAM provider is not actually using this for anything
- vRA requires the
NetBox API Key
- Service account is recommended.
NetBox URL
- ex.
https://netbox.domain.com
- ex.
Netbox Tag
- NetBox tag to track vRA managed objects.
NetBox Object
- Select either
prefixes
orip-ranges
- These correspond to the
/api/ipam/
API endpoints.
- Select either
NetBox Site
- Enter site
name
orID
.
- Enter site
Ignore SSL
- Sets
verify
Pythonrequests
parameter - Disables the
urllib3.exceptions.InsecureRequestWarning
- (but seriously, it's 2024, get a cert)
- Sets
- For cloud assembly builds to work, vRA requires that you have a lookup domain condfigured in the IP Range.
- This can done via a custom field in NetBox and editing the
network_range
dictionary in/src/main/python/get_ip_ranges/source.py
- An easier solution for now is add a non-required field to the
/src/main/resources/endpoint-schema.json
file and editing theget_ip_ranges
module. - Doc coming soon on this.
- This can done via a custom field in NetBox and editing the
- Docs
- Implement
- Reduce Integration Validation requirements
- Dynamic tagging/site inputs