Esx Agent Manager Api APIs

Esx Agent Manager Api APIs

Provides managed object types for the vSphere ESX Agent Manager server and data classes related to these object types.

Related Documentation

See the vSphere ESX Agent Manager SDK for overviews, tutorials, examples, guides, and tool documentation.

API Categories
agency

An Agency handles the deployment of a single type of agent virtual machine and any associated VIB bundle, on a set of compute resources.

For a solution to deploy multiple types of agents, it must create multiple agencies by using createAgency on EsxAgentManager (see CreateAgency).

Creating an agency is a long-running process. vSphere ESX Agent Manager must install VIBs, configure hosts, install agent virtual machines and do many more things. Each of these steps can take a considerable amount of time. vSphere ESX Agent Manager can also encounter problems when creating the agency. In this case, the solution must remediate the problem. See Issue for a description of the kinds of issue that vSphere ESX Agent Manager will raise. Similarly, removing an agency from vSphere ESX Agent Manager is also a long-running process that involves many steps. Removing an agency can also raise issues.

Use the goalState and status properties to show the progress of creating or removing an Agency. The goalState and status properties are found in the runtime information of an Agency (see status in runtime):

  • goalState. The goal state describes the overall goal of an Agency. The goal state can be enabled or uninstalled:
    • enabled. The Agency continuously deploys VIBs and agent virtual machines, powers on agent virtual machines, and monitors agents for issues.
    • uninstalled. The Agency uninstalls any installed VIBs and powers off and deletes any deployed agent virtual machines.
  • status. The status of the Agency regarding the given goal state. Status can be either red, yellow or green:
    • red. An issue is preventing the Agency from reaching its desired goal state. See issue in runtime for the types of issues that can block this Agency.
    • yellow. The Agency is actively working to reach the desired goal state. For the enabled goal state, this means that this Agency is currently installing VIBs, deploying agent virtual machines, and powering them on.
    • green. The Agency has reached the desired goal state. The Agency is no longer actively scheduling new tasks but is monitoring the vCenter Server for changes that might conflict with this Agency's goal state.

The following image shows in general terms how the status changes in the life-cycle of an Agency.

"Agency degraded" means that something has happened in the vCenter Server that causes this Agency to actively schedule new tasks to reach the goal state. For example, adding a host to a cluster covered by the scope of the Agency, which causes ESX Agent Manager to install a VIB and deploy an agent virtual machine on the new host. A solution should monitor the list of issues associated with this Agency.

The solution can poll runtime.

agent

An Agent is the vSphere ESX Agent Manager managed object responsible for deploying an Agency on a single host.

The Agent maintains the state of the current deployment in its runtime information (see runtime).

An Agent has the same goalState and status properties as an Agency, that are used in the same way:

  • goalState. The goal state describes the overall goal of this Agent. It can be enabled or uninstalled:
    • enabled. The Agent deploys its VIB, its agent virtual machine, and powers on the agent virtual machine. The Agent monitors in vCenter the status of the installation of the VIB (in case it is uninstalled outside of vSphere ESX Agent Manager) and of the agent virtual machine (in case an operation is performed on it outside of vSphere ESX Agent Manager).
    • uninstalled. The Agent uninstalls any installed VIB and power off and delete the deployed agent virtual machine.
  • status. The status of the Agent regarding the given goal state. Status can be either red, yellow or green:
    • red. An issue is preventing the Agent from reaching its desired goal state. See issue in runtime for the types of issues that can block this Agent.
    • yellow. The Agent is actively working to reach the desired goal state. For the enabled goal state, this means that this Agent is installing its VIB, deploying the agent virtual machine, and powering it on.
    • green. The Agent has reached the desired goal state. The Agent is no longer actively scheduling new tasks but is monitoring vCenter for changes that might conflict with this Agent's goal state.

eam-object

Base class for the Agent, Agency and EsxAgentManager classes.

esx-agent-manager

The EsxAgentManager is the main entry point for a solution to create agencies in the vSphere ESX Agent Manager server.

In vCenter 6.0, a solution is either a vCenter extension or a regular user.

The vSphere ESX Agent Manager VMODL API distinguishes between two types of users: VC extensions and regular vCenter users. These users have different privileges in the vSphere ESX Agent Manager VMODL API:

  • VC extensions have the privileges to call anything in the vSphere ESX Agent Manager VMODL API.
  • Regular vCenter users have restrictions on what methods they can call. The methods that a vCenter user that is not an extension can call are annotated with two types of privileges, Eam.View and Eam.Modify:
    • Eam.View. If a method has the Eam.View privilege, a user can call that method if they have the EAM.View privilege in vCenter.
    • Eam.Modify. Similarly to Eam.View, if a method has the Eam.Modify privilege, a user can call that method if they have the EAM.Modify privilege in vCenter. If a user has the EAM.Modify privilege, they automatically have EAM.View.

In vCenter 6.5 every solution, which is making VMODL API calls to EsxAgentManager, should be aware of the posibility, that the data from vCenter database might not be fully loaded. In all such cases the clients will receive an ESX Agent Manager runtime fault: EamServiceNotInitialized. NOTE: No issues are associated with EsxAgentManager any longer.