I think you only need one local property of type of your custom class and then you can reference the properties like ??LOCAL_PROPERTY.PROP_IN_CLASS?? ?
I don't think you can reference global or local property class instances like this?
what do you mean by available instances ? the property list is right there. instance values would be set at the component level, if you have multiple PSIs in your custom class then you should have components associated w/ each psi.
Maybe I'm trying to overextend BSA again...
I want to leverage my global custom class PSIs that I've made available in the Property Dictionary.
In compliance I am able to create a local property to map to the custom class. I am able to create local instances that point to the different global PSIs. The problem is how to do I reference the PSIs when I am creating the rules? The properties/instances are local to the component template, not the rule, so I see no way around creating a local property for each global instance, then map the local instance local property to the global instance, then in the compliance rule specify the local property I created for the instance.
I realize this sounds insane... but in my mind it seems quite useful and provides the ability to reduce the amount of hardcoded data used in compliance rules.
Give me a ping if you want me to show you a walk through of the use case and application of this.
i think you are doing it backwards.
you create your instances, set the appropriate values for each instance.
you create a pointer property in the template
you set the discovery condition so that it will find each instance on any server that it applies to.
then when you run discovery you get one component per instance (as the discovery works)
and then you run the compliance check against the component, and it figures out, based on what PSI is associated w/ the component - what property values to use.
I'll give this a shot. Its what I'm looking to do but using strictly local instances. I would rather use the global ones (in property dictionary) I created but we'll see how this goes.
You can do the same thing w/ the globals. Just make the pointer property to the class that contains your instances.
Ah ok I see the light now... just have to setup local instances that map to the global ones. thanks
so this is kind of weird... I added other parts to my component template which obviously are found under the "component (hostname)" but it's throwing an error
Warning 02/24/2015 14:34:30 Server Config Definition Object Not Found. The reason could be that either the Config Definition Object does not exist OR the user does not have required permissions on the Config Definition Object Info 02/24/2015 14:34:30 Compliance execution started for component: os_baseline-rhel7-v1.0 (serverName) Error 02/24/2015 14:34:59 Failed to resolve the pattern: ??FILE_DIR_PROPS.FILE_DIR_PATH??
Is there anyway to avoid this aside from having the property/instance driven compliance in a separate component template?
**I assume this is being thrown because of the local configuration object I created per the documentation that points to the local_property.global_property
don't include this part in browse ?
why isn't the property resolving ?
can you show a screenshot of where you get the error and what's in your component for the psis and the cfo definition ?
Here is a cap of the rules (to me its weird that the each component which is created as a result of the local property instances is executed for each rule) - would expect bladelogic to only execute the rule for the relevant component instance not all
Non-Instance reference rule:
Instance reference rule:
Maybe I shouldn't merge the two templates... think it has to do with the discovery
I need to use agent status = alive and target.os = linux instead of Directory:??FILE_DIR_PROPS.FILE_DIR_PATH?? exists because I need it to discover all of the other parts not just the property instances i've defined -- this might explain the "Component (serverName)"
what version of bsa is this ?