Hello,
My organization is rolling out vRA to allow for self service provisioning of VM's. We are currently building a custom IPAM connector plugin to provision IP's our of our IPAM solution using the IPAM SDK package and documentation(vRealize Automation Example Third-Party IPAM Package - VMware {code} ). The problem we are currently faced with is the documentation doesn't explain where or how the workflows are called, and where input parameters come from within vRA.
We have a grasp on the Get Address Spaces and Get address Ranges workflows and how those are triggered. We've written API calls to our IPAM solution and feel these are workflows are more or less complete besides some error handling and additional documentation.
We are starting to work on the Allocate workflow. There is no documentation that I saw regarding how this is executed. By adding the property VirtualMachine.Network0.ProfileName to a blueprint we were able to get the 'Allocate' workflow to execute, however some of the values getting passed to it are puzzling.
Here are the properties getting passed to the Allocate workflow during provisioning:
[ { "IPRangeIds": [ "6.47202027E8" ], "Size": "1", "NetworkProfileType": "EXTERNAL", "IsPrimary": true, "NetworkProfileId": "2cb3b05b-ae1c-4186-b04d-2b6040e30cea", "Id": "336163bb-0da3-4c93-9101-30b5aafa4376", "NicIndex": 0, "BlueprintRequestId": "ce9e00d9-23c7-4438-b784-3ef3af9a2d06" } ]
My first question is: Where is it getting the value for IPRangeIds? That value doesn't make any sense, we would expect it to be an IP Range given we've added a profile name to the custom property.
Second, is there any additional documentation regarding the IPAM integration? How and where these workflows are triggered from within vRA?
Right now it seems like a little bit of a black box.
Thank you for taking the time to read.