Virtual Infrastructure Host Profile APIs

Virtual Infrastructure Host Profile APIs

A host profile describes ESX Server configuration.

The HostProfile managed object provides access to profile data and it defines methods to manipulate the profile. A host profile is a combination of subprofiles, each of which contains configuration data for a specific capability. Some examples of host capabilities are authentication, memory, networking, and security. For access to individual subprofiles, see the HostApplyProfile data object (HostProfile.config.applyProfile).

Host profiles are part of the stateless configuration architecture. In the stateless environment, a Profile Engine runs on each ESX host, but an ESX host does not store its own configuration state. Instead, host configuration data is stored on vCenter Servers. Every time a host boots or reboots, it obtains its profile from the vCenter Server.

Host-Specific Configuration

An individual host or a set of hosts may have some configuration settings that are different from the settings specified in the host profile. For example, the IP configuration for the host's virtual network adapters must be unique.

  • To verify host-specific data, use the deferredParam parameter to the ExecuteHostProfile method. The Profile Engine will determine if you have specified all of the required parameters for the host configuration. If additional data is required, call the ExecuteHostProfile method again as many times as necessary to verify a complete set of parameters.
  • To apply host-specific data, use the userInput parameter to the HostProfileManager.ApplyHostConfig_Task method.

The Profile Engine saves host-specific data in an AnswerFile that is stored on the vCenter Server. The HostProfileManager provides several methods to manipulate answer files.

Profile Compliance

You can create associations between hosts and profiles to support compliance checking. When you perform compliance checking, you can determine if a host configuration conforms to a host profile.

You can also use the Profile Compliance Manager to check compliance by specifying profiles, entities (hosts), or both. See ProfileComplianceManager.CheckCompliance_Task.

Profile Plug-Ins

The vSphere architecture uses VMware profile plug-ins to define profile extensions. For information about using a plug-in to extend a host profile, see the VMware Technical Note Developing a Host Profile Extension Plug-in.

For access to host configuration data that is defined by plug-ins, use the ApplyProfile.policy[] and ApplyProfile.property[] lists. The HostApplyProfile and its subprofiles, which collectively define host configuration data, are derived from the ApplyProfile.

  • Policies store ESX configuration data in PolicyOption objects.
  • Profile property lists contain subprofiles defined by plug-ins. Subprofiles can be nested.

If you make changes to host profile data, later versions of profile plug-ins may not support the host configuration implied by the changes that you make. When a subsequent vSphere version becomes available, you must verify that the new version supports any previous configuration changes that you have made.

Operations
POST
Host Profile Associate Profile
Associate a profile with a managed entity.
POST
Host Profile Check Profile Compliance Task
Check compliance of an entity against a Profile.
POST
Host Profile Destroy Profile
Destroy the profile.
POST
Host Profile Dissociate Profile
Remove the association between a profile and a managed entity.
POST
Host Profile Execute Host Profile
Run the Profile Engine to determine the list of configuration changes needed for the specified host.
POST
Host Profile Export Profile
Export the profile in a serialized form.
GET
Host Profile Get Compliance Check Time
The latest compliance check time.
GET
Host Profile Get Compliance Status
Overall compliance of entities associated with this profile.
GET
Host Profile Get Config
Configuration data for the profile.
GET
Host Profile Get Created Time
Time at which the profile was created.
GET
Host Profile Get Description
Localizable description of the profile
GET
Host Profile Get Entity
List of managed entities associated with the profile.
GET
Host Profile Get Modified Time
Time at which the profile was last modified.
GET
Host Profile Get Name
Name of the profile.
GET
Host Profile Get Reference Host
Reference host in use for this host profile.
GET
Host Profile Get Validation Failure Info
This object is created or updated if the *HostProfileValidationStateEnum* is Failed.
GET
Host Profile Get Validation State
State of the host profile validation operation.
GET
Host Profile Get Validation State Update Time
Update time of the validation operation.
POST
Host Profile Host Profile Reset Validation State
This API will update the validationState to Ready from Failed, invalidate the validationFailureInfo and reset the validationStateUpdateTime.
POST
Host Profile Retrieve Description
Returns the localizable description for the profile.
POST
Host Profile Update Host Profile
Update the <code>HostProfile</code> with the specified configuration data.
POST
Host Profile Update Reference Host
Sets the *HostProfile*.*HostProfile.referenceHost* property.