VMware Cloud Community
BillStreet00
Enthusiast
Enthusiast
Jump to solution

Property Bindings between blueprint components

I have created a property definition called infrastructure.server.  This field is a dropdown that displays the options for the server type.  I want to pass this property to the software component so I can decide which roles to install.  I've found how to bind the software property to "_resource~blueprintID~IP Address.  I haven't been able to find how to access the property definitions that I have created.  Has anyone found how to access the property definitions?

0 Kudos
1 Solution

Accepted Solutions
daphnissov
Immortal
Immortal
Jump to solution

You'll have to apply the custom property to a machine object, then reference that in the binding using the name of that machine, not the _resource identifier.

pastedImage_0.png

So in this example, I have a blueprint that nests another blueprint called "CentOS7". I attach the vRA.Deployment.Tags property to the machine element in that blueprint and I can bind to it here.

View solution in original post

0 Kudos
6 Replies
richardtracy79
Contributor
Contributor
Jump to solution

We're running vRA 7.3 and I have not been able to bind Blueprint level custom properties or property groups to VM level or software components within the blueprint. However, it can be bound from VM to software component, just not at Blueprint level that I can find.

Example: How to use Drop Down lists with vRA Software Components – VMtoCloud.com

I have read articles where custom properties can be sent to vRO via the service bus or event broker

http://www.thevirtualist.org/vra-event-broker-pass-basic-custom-properties-vro/

I'm assuming if this can be done, then you can pass the output back out to a XaaS component, then bind those properties to the VM or Software component

How to pass parameters between vRO7 (VMware vRealize Orchestrator) and vRA (VMware vRealize Automati...

It would be nice (and a lot easier) just to be able to bind variables at the Blueprint level.

0 Kudos
BillStreet00
Enthusiast
Enthusiast
Jump to solution

Pretty much what I have found as well.  It just seems that if you can bind some resources you should be able to bind them all.  I am looking at the vRO route now.  I'd just use PS but the provisioning is happening to quickly for DNS to catch up.

0 Kudos
daphnissov
Immortal
Immortal
Jump to solution

You'll have to apply the custom property to a machine object, then reference that in the binding using the name of that machine, not the _resource identifier.

pastedImage_0.png

So in this example, I have a blueprint that nests another blueprint called "CentOS7". I attach the vRA.Deployment.Tags property to the machine element in that blueprint and I can bind to it here.

0 Kudos
BillStreet00
Enthusiast
Enthusiast
Jump to solution

I know its pretty sad but that answer just made me giggly happy.  Smiley Happy

0 Kudos
richardtracy79
Contributor
Contributor
Jump to solution

Yes this is easy to do within the blueprint for VM custom properties and software properties. I do this alot.

My scenario: Provide a catalog request for users to build a SharePoint instance, CRM instance, Web farm, etc using a simplifed form. I have already done all the scripting and all the testing. Its using all software components with Powershell with some NSX load balancer (soon). All requests work, but the forms are hideous. The user has to drill into each VM and fill in the fields, where I want it all on the main form (like the scren shot above). The other problem is all the software components have same properties to access a software share to download locally before install. I also need to import these blueprints across multiple disconnect domains (vra single tenants), but if I do, I have to go into each and every blueprint and software component to change the credentials used to access their appropiate software share (username, password, IP, share, etc) for each domain (same credentials in NOT an option). Its a pain. What I wanted was to build a "global" property group that consists of those properties definitions, and then when I export/import i do't have to change anything because each disconnect networks vRA instance will already have the configured property groups with all vm templates named the same as well so all should just work.

BUT how can I bind Property Groups? I have a property group that consists of 5 property definitions. I want to specify the property group in the vm level and bind it to the software component. I REALLY want it to load at the Blueprint level (so the catalog request form field on on the blueprint top level not in the sub sections)

global_propertygroup.png

Here is what I want it to look like:

global_catalog_request.png

I have tried many different configs. Blue print level propery definitions are not passed inside to the VM's or at least not by vRA that i can tell. So I moved the property groups and definitiosn to the VM level which makes the form options go under the main page...sucks.

But even now I can't bind property groups. I tried it like this thinking propery groups is an array or variables:

global_software_component.png

But it does not like this.

If I remove the [#] from the binding i get

global_propertygroup-binding.png

Its almost seems Property groups are not supposed to be bound but only used for vRO workflows: https://theithollow.com/2017/05/22/vra-placement-decisions-dynamic-form/

Ideas?

0 Kudos
richardtracy79
Contributor
Contributor
Jump to solution

Figure it out. I can now bind blueprint global property groups to software components directy. I posted it here:Re: How to Bind a Blue Print property with Software Component Property in vRA7.2 ?

0 Kudos