Many of the Data Objects in the vSphere Web Services SDK have optional properties that may be set by your client application or by a Server process or event. If you retrieve a data object that has an optional property that is unset, the Server will not return a value for the optional property. If you call an accessor function to retrieve the property value, the value returned by the function depends on the programming language that you are using.

For example, if you are programming in Java, the value you will receive for an unset property is null.

Data Object - HostFirewallInfo Properties shows part of the Properties table for the HostFirewallInfo data object in the vSphere Web Services SDK API Reference. When you look at properties in the vSphere Web Services SDK API Reference, you can see that optional properties are marked with a red asterisk.

In this example, that the defaultPolicy property is always returned, but the ruleset property will be returned as a null value if it has not been set.

Figure 1. Data Object - HostFirewallInfo Properties
Shows properties of Host Firewall Info.

Since Data Objects are part of many different constructs, there is no standard scenario for when an optional property should be set, what will happen if an optional property is left unset, or what you should do if a null value is returned.