github.com/vmware/govmomi@v0.51.0/eam/types/types.go (about)

     1  // © Broadcom. All Rights Reserved.
     2  // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries.
     3  // SPDX-License-Identifier: Apache-2.0
     4  
     5  package types
     6  
     7  import (
     8  	"reflect"
     9  	"time"
    10  
    11  	"github.com/vmware/govmomi/vim25/types"
    12  )
    13  
    14  type AddIssue AddIssueRequestType
    15  
    16  func init() {
    17  	types.Add("eam:AddIssue", reflect.TypeOf((*AddIssue)(nil)).Elem())
    18  }
    19  
    20  // The parameters of `Agency.AddIssue`.
    21  //
    22  // This structure may be used only with operations rendered under `/eam`.
    23  type AddIssueRequestType struct {
    24  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
    25  	// A new issue.
    26  	Issue BaseIssue `xml:"issue,typeattr" json:"issue"`
    27  }
    28  
    29  func init() {
    30  	types.Add("eam:AddIssueRequestType", reflect.TypeOf((*AddIssueRequestType)(nil)).Elem())
    31  }
    32  
    33  type AddIssueResponse struct {
    34  	Returnval BaseIssue `xml:"returnval,typeattr" json:"returnval"`
    35  }
    36  
    37  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
    38  //
    39  // Scope specifies on which compute resources to deploy a solution's agents.
    40  //
    41  // This structure may be used only with operations rendered under `/eam`.
    42  type AgencyComputeResourceScope struct {
    43  	AgencyScope
    44  
    45  	// Compute resources on which to deploy the agents.
    46  	//
    47  	// If `AgencyConfigInfoEx.vmPlacementPolicy` is set, the array needs to
    48  	// contain exactly one cluster compute resource.
    49  	//
    50  	// Refers instances of `ComputeResource`.
    51  	ComputeResource []types.ManagedObjectReference `xml:"computeResource,omitempty" json:"computeResource,omitempty"`
    52  }
    53  
    54  func init() {
    55  	types.Add("eam:AgencyComputeResourceScope", reflect.TypeOf((*AgencyComputeResourceScope)(nil)).Elem())
    56  }
    57  
    58  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
    59  //
    60  // This is the configuration of an <code>Agency</code>.
    61  //
    62  // It determines on
    63  // which compute resources to deploy the agents, which VIB to install, which
    64  // OVF package to install, and how to configure these items by setting the
    65  // OVF environment properties.
    66  //
    67  // This structure may be used only with operations rendered under `/eam`.
    68  type AgencyConfigInfo struct {
    69  	types.DynamicData
    70  
    71  	// A list of `AgentConfigInfo`s for hosts covered by this
    72  	// <code>Agency</code>.
    73  	//
    74  	// When provisioning a new agent to a host, vSphere
    75  	// ESX Agent Manager tries to find, from left to right in the array, a
    76  	// match for an `AgentConfigInfo` and stops searching at the first
    77  	// one that it finds.
    78  	// If `AgencyConfigInfoEx.vmPlacementPolicy` is set, the array needs to contain only a
    79  	// single agent config. In that case the agent config is not bound to a
    80  	// specific host, but to the whole cluster.
    81  	AgentConfig []AgentConfigInfo `xml:"agentConfig,omitempty" json:"agentConfig,omitempty"`
    82  	// The scope of the <code>Agency</code>.
    83  	Scope BaseAgencyScope `xml:"scope,omitempty,typeattr" json:"scope,omitempty"`
    84  	// If set to <code>true</code>, the client of this agency must manually
    85  	// mark the agent as ready after the agent virtual machine has been
    86  	// provisioned.
    87  	//
    88  	// This is useful if the client of this solution performs
    89  	// some extra reconfiguration of the agent virtual machine before it is
    90  	// powered on.
    91  	//
    92  	// See also `Agent.MarkAsAvailable`.
    93  	ManuallyMarkAgentVmAvailableAfterProvisioning *bool `xml:"manuallyMarkAgentVmAvailableAfterProvisioning" json:"manuallyMarkAgentVmAvailableAfterProvisioning,omitempty"`
    94  	// If set to <code>true</code>, the client of this agency must manually
    95  	// mark the agent as ready after the agent virtual machine has been
    96  	// powered on.
    97  	//
    98  	// In this case, DRS will not regard the agent virtual machine
    99  	// as ready until the client has marked the agent as ready.
   100  	//
   101  	// See also `Agent.MarkAsAvailable`.
   102  	ManuallyMarkAgentVmAvailableAfterPowerOn *bool `xml:"manuallyMarkAgentVmAvailableAfterPowerOn" json:"manuallyMarkAgentVmAvailableAfterPowerOn,omitempty"`
   103  	// If set to <code>true</code>, ESX Agent Manager will use vSphere Linked
   104  	// Clones to speed up the deployment of agent virtual machines.
   105  	//
   106  	// Using
   107  	// linked clones implies that the agent virtual machines cannot use
   108  	// Storage vMotion to move to another vSphere datastore.
   109  	// If set to <code>false</code>, ESX Agent Manager will use Full VM
   110  	// Cloning.
   111  	// If unset default is <code>true<code>.
   112  	OptimizedDeploymentEnabled *bool `xml:"optimizedDeploymentEnabled" json:"optimizedDeploymentEnabled,omitempty"`
   113  	// An optional name to use when naming agent virtual machines.
   114  	//
   115  	// For
   116  	// example, if set to "example-agent", each agent virtual machine will be
   117  	// named "example-agent (1)", "example-agent (2)", and so on. The maximum
   118  	// length of <code>agentName</code> is 70 characters.
   119  	AgentName string `xml:"agentName,omitempty" json:"agentName,omitempty"`
   120  	// Name of the agency.
   121  	//
   122  	// Must be set when creating the agency.
   123  	AgencyName string `xml:"agencyName,omitempty" json:"agencyName,omitempty"`
   124  	// Property <code>agentName</code> is required if this property is set to
   125  	// <code>true</code>.
   126  	//
   127  	// If set to <code>true</code>, ESX Agent Manager will name virtual
   128  	// machines with UUID suffix. For example, "example-agent-UUID".
   129  	// In this case, the maximum length of <code>agentName</code> is 43
   130  	// characters.
   131  	//
   132  	// If not set or is set to <code>false</code>, virtual
   133  	// machines will not contain UUID in their name.
   134  	UseUuidVmName *bool `xml:"useUuidVmName" json:"useUuidVmName,omitempty"`
   135  	// Deprecated use automatically provisioned VMs and register hooks to
   136  	// have control post provisioning and power on.
   137  	//
   138  	// Set to true if agent VMs are manually provisioned.
   139  	//
   140  	// If unset, defaults
   141  	// to false.
   142  	ManuallyProvisioned *bool `xml:"manuallyProvisioned" json:"manuallyProvisioned,omitempty"`
   143  	// Deprecated use automatically provisioned VMs and register hooks to
   144  	// have control post provisioning and power on.
   145  	//
   146  	// Set to true if agent VMs are manually monitored.
   147  	//
   148  	// If unset, defaults to
   149  	// false. This can only be set to true if
   150  	// `AgencyConfigInfo.manuallyProvisioned` is set to true.
   151  	ManuallyMonitored *bool `xml:"manuallyMonitored" json:"manuallyMonitored,omitempty"`
   152  	// Deprecated vUM is no more consulted so this property has no sense
   153  	// anymore.
   154  	//
   155  	// Set to true will install VIBs directly on the hosts even if VMware
   156  	// Update Manager is installed.
   157  	//
   158  	// If unset, defaults to false.
   159  	BypassVumEnabled *bool `xml:"bypassVumEnabled" json:"bypassVumEnabled,omitempty"`
   160  	// Specifies the networks which to be configured on the agent VMs.
   161  	//
   162  	// This property is only applicable for pinned to host VMs - i.e.
   163  	// (`AgencyConfigInfoEx.vmPlacementPolicy`) is not set.
   164  	//
   165  	// If not set or `AgencyConfigInfo.preferHostConfiguration` is set to true, the
   166  	// default host agent VM network (configured through
   167  	// vim.host.EsxAgentHostManager) is used, otherwise the first network from
   168  	// the array that is present on the host is used.
   169  	//
   170  	// At most one of `AgencyConfigInfo.agentVmNetwork` and `AgencyConfigInfoEx.vmNetworkMapping`
   171  	// needs to be set.
   172  	//
   173  	// Refers instances of `Network`.
   174  	AgentVmNetwork []types.ManagedObjectReference `xml:"agentVmNetwork,omitempty" json:"agentVmNetwork,omitempty"`
   175  	// The datastores used to configure the storage on the agent VMs.
   176  	//
   177  	// This property is required if `AgencyConfigInfoEx.vmPlacementPolicy` is set and
   178  	// `AgencyConfigInfoEx.datastoreSelectionPolicy` is not set. In that case the first
   179  	// element from the list is used.
   180  	//
   181  	// If not set or `AgencyConfigInfo.preferHostConfiguration` is set to true and
   182  	// `AgencyConfigInfoEx.vmPlacementPolicy` is not set, the default host agent VM
   183  	// datastore (configured through vim.host.EsxAgentHostManager) is used,
   184  	// otherwise the first datastore from the array that is present on the
   185  	// host is used.
   186  	//
   187  	// If `AgencyConfigInfoEx.vmPlacementPolicy` is set at most one of
   188  	// `AgencyConfigInfo.agentVmDatastore` and `AgencyConfigInfoEx.datastoreSelectionPolicy` needs
   189  	// to be set. If `AgencyConfigInfoEx.vmPlacementPolicy` is not set
   190  	// `AgencyConfigInfoEx.datastoreSelectionPolicy` takes precedence over
   191  	// `AgencyConfigInfo.agentVmDatastore` .
   192  	//
   193  	// Refers instances of `Datastore`.
   194  	AgentVmDatastore []types.ManagedObjectReference `xml:"agentVmDatastore,omitempty" json:"agentVmDatastore,omitempty"`
   195  	// If set to true the default agent VM datastore and network will take
   196  	// precedence over `AgencyConfigInfo.agentVmNetwork` and
   197  	// `AgencyConfigInfo.agentVmDatastore` when configuring the agent
   198  	// VMs.
   199  	//
   200  	// This property is not used if `AgencyConfigInfoEx.vmPlacementPolicy` is set.
   201  	PreferHostConfiguration *bool `xml:"preferHostConfiguration" json:"preferHostConfiguration,omitempty"`
   202  	// Deprecated that is a custom configuration that should be setup by the
   203  	// agency owner. One way is to use
   204  	// `AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterPowerOn` or
   205  	// `AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterProvisioning`
   206  	// hooks.
   207  	//
   208  	// If set, a property with id "ip" and value an IP from the pool is added
   209  	// to the vApp configuration of the deployed VMs.
   210  	IpPool *types.IpPool `xml:"ipPool,omitempty" json:"ipPool,omitempty"`
   211  	// Defines the resource pools where VMs to be deployed.
   212  	//
   213  	// If specified, the VMs for every compute resouce in the scope will be
   214  	// deployed to its corresponding resource pool.
   215  	// If not specified, the agent VMs for each compute resource will be
   216  	// deployed under top level nested resource pool created for the agent
   217  	// VMs. If unable to create a nested resource pool, the root resource pool
   218  	// of the compute resource will be used.
   219  	ResourcePools []AgencyVMResourcePool `xml:"resourcePools,omitempty" json:"resourcePools,omitempty"`
   220  	// Defines the folders where VMs to be deployed.
   221  	//
   222  	// If specified, the VMs for every compute resouce in the scope will be
   223  	// deployed to its corresponding folder. The link is made between the
   224  	// compute resource parent and the datacenter the folder belongs to
   225  	// `AgencyVMFolder.datacenterId`.
   226  	// If not specified, the agent VMs for each compute resource will be
   227  	// deployed in top level folder created in each datacenter for the agent
   228  	// VMs.
   229  	Folders []AgencyVMFolder `xml:"folders,omitempty" json:"folders,omitempty"`
   230  }
   231  
   232  func init() {
   233  	types.Add("eam:AgencyConfigInfo", reflect.TypeOf((*AgencyConfigInfo)(nil)).Elem())
   234  }
   235  
   236  // Agency is disabled - one or more ClusterComputeResources from it's scope are
   237  // disabled.
   238  //
   239  // This is not a remediable issue. To remediate, re-enable the cluster.
   240  //
   241  // This structure may be used only with operations rendered under `/eam`.
   242  type AgencyDisabled struct {
   243  	AgencyIssue
   244  }
   245  
   246  func init() {
   247  	types.Add("eam:AgencyDisabled", reflect.TypeOf((*AgencyDisabled)(nil)).Elem())
   248  	types.AddMinAPIVersionForType("eam:AgencyDisabled", "7.6")
   249  }
   250  
   251  // Base class for all agency issues.
   252  //
   253  // This structure may be used only with operations rendered under `/eam`.
   254  type AgencyIssue struct {
   255  	Issue
   256  
   257  	// The agency to which this issue belongs.
   258  	//
   259  	// Refers instance of `Agency`.
   260  	Agency types.ManagedObjectReference `xml:"agency" json:"agency"`
   261  	// The name of the agency.
   262  	AgencyName string `xml:"agencyName" json:"agencyName"`
   263  	// The ID of the solution to which this issue belongs.
   264  	SolutionId string `xml:"solutionId" json:"solutionId"`
   265  	// The name of the solution to which this issue belongs.
   266  	SolutionName string `xml:"solutionName" json:"solutionName"`
   267  }
   268  
   269  func init() {
   270  	types.Add("eam:AgencyIssue", reflect.TypeOf((*AgencyIssue)(nil)).Elem())
   271  }
   272  
   273  type AgencyQueryRuntime AgencyQueryRuntimeRequestType
   274  
   275  func init() {
   276  	types.Add("eam:AgencyQueryRuntime", reflect.TypeOf((*AgencyQueryRuntime)(nil)).Elem())
   277  }
   278  
   279  type AgencyQueryRuntimeRequestType struct {
   280  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   281  }
   282  
   283  func init() {
   284  	types.Add("eam:AgencyQueryRuntimeRequestType", reflect.TypeOf((*AgencyQueryRuntimeRequestType)(nil)).Elem())
   285  }
   286  
   287  type AgencyQueryRuntimeResponse struct {
   288  	Returnval BaseEamObjectRuntimeInfo `xml:"returnval,typeattr" json:"returnval"`
   289  }
   290  
   291  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
   292  //
   293  // Scope specifies which where to deploy agents.
   294  //
   295  // This structure may be used only with operations rendered under `/eam`.
   296  type AgencyScope struct {
   297  	types.DynamicData
   298  }
   299  
   300  func init() {
   301  	types.Add("eam:AgencyScope", reflect.TypeOf((*AgencyScope)(nil)).Elem())
   302  }
   303  
   304  // Deprecated as of vSphere 9.0. Please refer to vLCM System VMs APIs.
   305  //
   306  // Represents the mapping of a VM folder to a datacenter.
   307  //
   308  // This structure may be used only with operations rendered under `/eam`.
   309  type AgencyVMFolder struct {
   310  	types.DynamicData
   311  
   312  	// Folder identifier.
   313  	//
   314  	// The folder must be present in the corresponding
   315  	// datacenter.
   316  	//
   317  	// Refers instance of `Folder`.
   318  	FolderId types.ManagedObjectReference `xml:"folderId" json:"folderId"`
   319  	// Datacenter identifier.
   320  	//
   321  	// Refers instance of `Datacenter`.
   322  	DatacenterId types.ManagedObjectReference `xml:"datacenterId" json:"datacenterId"`
   323  }
   324  
   325  func init() {
   326  	types.Add("eam:AgencyVMFolder", reflect.TypeOf((*AgencyVMFolder)(nil)).Elem())
   327  }
   328  
   329  // Deprecated as of vSphere 9.0. Please refer to vLCM System VMs APIs.
   330  //
   331  // Represents the mapping of a VM resource pool to a compute resource.
   332  //
   333  // This structure may be used only with operations rendered under `/eam`.
   334  type AgencyVMResourcePool struct {
   335  	types.DynamicData
   336  
   337  	// Resource pool identifier.
   338  	//
   339  	// The resource pool must be present in the
   340  	// corresponding compute resource.
   341  	//
   342  	// Refers instance of `ResourcePool`.
   343  	ResourcePoolId types.ManagedObjectReference `xml:"resourcePoolId" json:"resourcePoolId"`
   344  	// Compute resource identifier.
   345  	//
   346  	// Refers instance of `ComputeResource`.
   347  	ComputeResourceId types.ManagedObjectReference `xml:"computeResourceId" json:"computeResourceId"`
   348  }
   349  
   350  func init() {
   351  	types.Add("eam:AgencyVMResourcePool", reflect.TypeOf((*AgencyVMResourcePool)(nil)).Elem())
   352  }
   353  
   354  type Agency_Disable Agency_DisableRequestType
   355  
   356  func init() {
   357  	types.Add("eam:Agency_Disable", reflect.TypeOf((*Agency_Disable)(nil)).Elem())
   358  }
   359  
   360  type Agency_DisableRequestType struct {
   361  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   362  }
   363  
   364  func init() {
   365  	types.Add("eam:Agency_DisableRequestType", reflect.TypeOf((*Agency_DisableRequestType)(nil)).Elem())
   366  }
   367  
   368  type Agency_DisableResponse struct {
   369  }
   370  
   371  type Agency_Enable Agency_EnableRequestType
   372  
   373  func init() {
   374  	types.Add("eam:Agency_Enable", reflect.TypeOf((*Agency_Enable)(nil)).Elem())
   375  }
   376  
   377  type Agency_EnableRequestType struct {
   378  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   379  }
   380  
   381  func init() {
   382  	types.Add("eam:Agency_EnableRequestType", reflect.TypeOf((*Agency_EnableRequestType)(nil)).Elem())
   383  }
   384  
   385  type Agency_EnableResponse struct {
   386  }
   387  
   388  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
   389  //
   390  // Specifies an SSL policy that trusts any SSL certificate.
   391  //
   392  // This structure may be used only with operations rendered under `/eam`.
   393  type AgentAnyCertificate struct {
   394  	AgentSslTrust
   395  }
   396  
   397  func init() {
   398  	types.Add("eam:AgentAnyCertificate", reflect.TypeOf((*AgentAnyCertificate)(nil)).Elem())
   399  	types.AddMinAPIVersionForType("eam:AgentAnyCertificate", "8.2")
   400  }
   401  
   402  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
   403  //
   404  // A description of what should be put on a host.
   405  //
   406  // By setting the
   407  // <code>productLineId</code> and <code>hostVersion</code>, you can specify
   408  // the types of hosts for which to use the <code>ConfigInfo</code>.
   409  //
   410  // This structure may be used only with operations rendered under `/eam`.
   411  type AgentConfigInfo struct {
   412  	types.DynamicData
   413  
   414  	// The product line ID of the host.
   415  	//
   416  	// Examples of values are "esx" or
   417  	// "embeddedEsx". If omitted, the host's product line ID is not considered
   418  	// when matching an <code>AgentPackage</code> against a host.
   419  	ProductLineId string `xml:"productLineId,omitempty" json:"productLineId,omitempty"`
   420  	// A dot-separated string of the host version.
   421  	//
   422  	// Examples of values are
   423  	// "4.1.0" "3.5", "4.\*" where \* is a wildcard meaning any version minor
   424  	// version of the major version 4. If omitted, the host version will not
   425  	// be considered when matching an <code>AgentPackage</code> against a
   426  	// host.
   427  	// This property is not used if
   428  	// `AgencyConfigInfoEx.vmPlacementPolicy` is set. It is client's
   429  	// responsibility to trigger an agency upgrade with a new
   430  	// `AgentConfigInfo.ovfPackageUrl`.
   431  	HostVersion string `xml:"hostVersion,omitempty" json:"hostVersion,omitempty"`
   432  	// The URL of the solution's agent OVF package.
   433  	//
   434  	// If not set, no agent
   435  	// virtual machines are installed on the hosts covered by the scope.
   436  	// If `AgencyConfigInfoEx.vmPlacementPolicy` is set, the VM needs to
   437  	// be agnostic to the different host versions inside the cluster.
   438  	OvfPackageUrl        string `xml:"ovfPackageUrl,omitempty" json:"ovfPackageUrl,omitempty"`
   439  	AuthenticationScheme string `xml:"authenticationScheme,omitempty" json:"authenticationScheme,omitempty"`
   440  	// Specifies an SSL trust policy to be use for verification of the
   441  	// server that hosts the `AgentConfigInfo.ovfPackageUrl`.
   442  	//
   443  	// If not set, the server
   444  	// certificate is validated against the trusted root certificates of the
   445  	// OS (Photon) and VECS (TRUSTED\_ROOTS).
   446  	OvfSslTrust BaseAgentSslTrust `xml:"ovfSslTrust,omitempty,typeattr" json:"ovfSslTrust,omitempty" vim:"8.2"`
   447  	// The part of the OVF environment that can be set by the solution.
   448  	//
   449  	// This
   450  	// is where Properties that the agent virtual machine's OVF descriptor
   451  	// specifies are set here. All properties that are specified as
   452  	// user-configurable must be set.
   453  	OvfEnvironment *AgentOvfEnvironmentInfo `xml:"ovfEnvironment,omitempty" json:"ovfEnvironment,omitempty"`
   454  	// An optional URL to an offline bundle.
   455  	//
   456  	// If not set, no VIB is installed
   457  	// on the hosts in the scope. Offline bundles are only supported on 4.0
   458  	// hosts and later.
   459  	//
   460  	// VIB downgrade is not permitted - in case a VIB with the same name, but
   461  	// lower version is installed on a host in the scope the VIB installation
   462  	// on that host will not succeed.
   463  	//
   464  	// If two or more agents have the same VIB with different versions on the
   465  	// same host, the install/uninstall behaviour is undefined (the VIB may
   466  	// remain installed, etc.).
   467  	//
   468  	// The property is not used if `AgencyConfigInfoEx.vmPlacementPolicy`
   469  	// is set.
   470  	VibUrl string `xml:"vibUrl,omitempty" json:"vibUrl,omitempty"`
   471  	// Specifies an SSL trust policy to be use for verification of the
   472  	// server that hosts the `AgentConfigInfo.vibUrl`.
   473  	//
   474  	// If not set, the server
   475  	// certificate is validated against the trusted root certificates of the
   476  	// OS (Photon) and VECS (TRUSTED\_ROOTS).
   477  	VibSslTrust BaseAgentSslTrust `xml:"vibSslTrust,omitempty,typeattr" json:"vibSslTrust,omitempty" vim:"8.2"`
   478  	// Deprecated vIB matching rules are no longer supported by EAM. Same
   479  	// overlaps with VIB dependency requirements which reside in
   480  	// each VIB's metadata.
   481  	//
   482  	// Optional Vib matching rules.
   483  	//
   484  	// If set, the Vib, specified by vibUrl, will
   485  	// be installed either
   486  	//   - if there is installed Vib on the host which name and version match
   487  	//     the regular expressions in the corresponding rule
   488  	//   - or there isn't any installed Vib on the host with name which
   489  	//     matches the Vib name regular expression in the corresponding rule. Vib
   490  	//     matching rules are usually used for controlling VIB upgrades, in which
   491  	//     case the name regular expression matches any previous versions of the
   492  	//     agency Vib and version regular expression determines whether the
   493  	//     existing Vib should be upgraded.
   494  	//
   495  	// For every Vib in the Vib package, only one Vib matching rule can be
   496  	// defined. If specified more than one, it is not determined which one
   497  	// will be used. The Vib name regular expression in the Vib matching rule
   498  	// will be matched against the name of the Vib which will be installed.
   499  	// Only rules for Vibs which are defined in the Vib package metadata will
   500  	// be taken in account.
   501  	VibMatchingRules []AgentVibMatchingRule `xml:"vibMatchingRules,omitempty" json:"vibMatchingRules,omitempty"`
   502  	// Deprecated use VIB metadata to add such dependency.
   503  	//
   504  	// An optional name of a VIB.
   505  	//
   506  	// If set, no VIB is installed on the host. The
   507  	// host is checked if a VIB with vibName is already installed on it. Also
   508  	// the vibUrl must not be set together with the vibUrl.
   509  	VibName string `xml:"vibName,omitempty" json:"vibName,omitempty"`
   510  	// Deprecated that is a custom setup specific for a particular agency.
   511  	// The agency owner should do it using other means, e.g.
   512  	// `AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterPowerOn` or
   513  	// `AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterProvisioning`
   514  	// hooks. Support for this has been removed. Seting this to
   515  	// <code>true</code> will no longer have any effect.
   516  	//
   517  	// If set to <code>true</code>, the hosts in the scope must be configured
   518  	// for DvFilter before VIBs and agent virtual machines are deployed on
   519  	// them.
   520  	//
   521  	// If not set or set to <code>false</code>, no DvFilter
   522  	// configuration is done on the hosts.
   523  	DvFilterEnabled *bool `xml:"dvFilterEnabled" json:"dvFilterEnabled,omitempty"`
   524  	// Deprecated express that requirement in the VIB descriptor with
   525  	// 'live-remove-allowed=false'.
   526  	//
   527  	// An optional boolean flag to specify whether the agent's host is
   528  	// rebooted after the VIB is uninstalled.
   529  	//
   530  	// If not set, the default value is
   531  	// <code>false</code>. If set to <code>true</code>, the agent gets a
   532  	// `VibRequiresHostReboot` issue after a successful
   533  	// uninstallation.
   534  	RebootHostAfterVibUninstall *bool `xml:"rebootHostAfterVibUninstall" json:"rebootHostAfterVibUninstall,omitempty"`
   535  	// If set the virtual machine will be configured with the services and
   536  	// allow VMCI access from the virtual machine to the installed VIB.
   537  	VmciService []string `xml:"vmciService,omitempty" json:"vmciService,omitempty"`
   538  	// AgentVM disk provisioning type.
   539  	//
   540  	// Defaults to `none` if not specified.
   541  	OvfDiskProvisioning string `xml:"ovfDiskProvisioning,omitempty" json:"ovfDiskProvisioning,omitempty"`
   542  	// Defines the storage policies configured on Agent VMs.
   543  	//
   544  	// Storage policies
   545  	// are configured on all VM related objects including disks.
   546  	// NOTE: The property needs to be configured on each update, otherwise
   547  	// vSphere ESX Agent Manager will unset this configuration for all future
   548  	// agent VMs.
   549  	VmStoragePolicies       []BaseAgentStoragePolicy `xml:"vmStoragePolicies,omitempty,typeattr" json:"vmStoragePolicies,omitempty"`
   550  	VmResourceConfiguration string                   `xml:"vmResourceConfiguration,omitempty" json:"vmResourceConfiguration,omitempty"`
   551  }
   552  
   553  func init() {
   554  	types.Add("eam:AgentConfigInfo", reflect.TypeOf((*AgentConfigInfo)(nil)).Elem())
   555  }
   556  
   557  // Base class for all agent issues.
   558  //
   559  // This structure may be used only with operations rendered under `/eam`.
   560  type AgentIssue struct {
   561  	AgencyIssue
   562  
   563  	// The agent that has this issue.
   564  	//
   565  	// Refers instance of `Agent`.
   566  	Agent types.ManagedObjectReference `xml:"agent" json:"agent"`
   567  	// The name of the agent.
   568  	AgentName string `xml:"agentName" json:"agentName"`
   569  	// The managed object reference to the host on which this agent is located.
   570  	//
   571  	// Refers instance of `HostSystem`.
   572  	Host types.ManagedObjectReference `xml:"host" json:"host"`
   573  	// The name of the host on which this agent is located.
   574  	HostName string `xml:"hostName" json:"hostName"`
   575  }
   576  
   577  func init() {
   578  	types.Add("eam:AgentIssue", reflect.TypeOf((*AgentIssue)(nil)).Elem())
   579  }
   580  
   581  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
   582  //
   583  // The <code>OvfEnvironment</code> is used to assign OVF environment
   584  // properties in the `AgentConfigInfo`.
   585  //
   586  // It specifies the values that
   587  // map to properties in the agent virtual machine's OVF descriptor.
   588  //
   589  // This structure may be used only with operations rendered under `/eam`.
   590  type AgentOvfEnvironmentInfo struct {
   591  	types.DynamicData
   592  
   593  	// The OVF properties that are assigned to the agent virtual machine's OVF
   594  	// environment when it is powered on.
   595  	OvfProperty []AgentOvfEnvironmentInfoOvfProperty `xml:"ovfProperty,omitempty" json:"ovfProperty,omitempty"`
   596  }
   597  
   598  func init() {
   599  	types.Add("eam:AgentOvfEnvironmentInfo", reflect.TypeOf((*AgentOvfEnvironmentInfo)(nil)).Elem())
   600  }
   601  
   602  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
   603  //
   604  // One OVF property.
   605  //
   606  // This structure may be used only with operations rendered under `/eam`.
   607  type AgentOvfEnvironmentInfoOvfProperty struct {
   608  	types.DynamicData
   609  
   610  	// The name of the property in the OVF descriptor.
   611  	Key string `xml:"key" json:"key"`
   612  	// The value of the property.
   613  	Value string `xml:"value" json:"value"`
   614  }
   615  
   616  func init() {
   617  	types.Add("eam:AgentOvfEnvironmentInfoOvfProperty", reflect.TypeOf((*AgentOvfEnvironmentInfoOvfProperty)(nil)).Elem())
   618  }
   619  
   620  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
   621  //
   622  // Specifies an SSL policy that trusts one specific pinned PEM encoded
   623  // SSL certificate.
   624  //
   625  // This structure may be used only with operations rendered under `/eam`.
   626  type AgentPinnedPemCertificate struct {
   627  	AgentSslTrust
   628  
   629  	// PEM encoded pinned SSL certificate of the server that needs to be
   630  	// trusted.
   631  	SslCertificate string `xml:"sslCertificate" json:"sslCertificate"`
   632  }
   633  
   634  func init() {
   635  	types.Add("eam:AgentPinnedPemCertificate", reflect.TypeOf((*AgentPinnedPemCertificate)(nil)).Elem())
   636  	types.AddMinAPIVersionForType("eam:AgentPinnedPemCertificate", "8.2")
   637  }
   638  
   639  type AgentQueryConfig AgentQueryConfigRequestType
   640  
   641  func init() {
   642  	types.Add("eam:AgentQueryConfig", reflect.TypeOf((*AgentQueryConfig)(nil)).Elem())
   643  }
   644  
   645  type AgentQueryConfigRequestType struct {
   646  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   647  }
   648  
   649  func init() {
   650  	types.Add("eam:AgentQueryConfigRequestType", reflect.TypeOf((*AgentQueryConfigRequestType)(nil)).Elem())
   651  }
   652  
   653  type AgentQueryConfigResponse struct {
   654  	Returnval AgentConfigInfo `xml:"returnval" json:"returnval"`
   655  }
   656  
   657  type AgentQueryRuntime AgentQueryRuntimeRequestType
   658  
   659  func init() {
   660  	types.Add("eam:AgentQueryRuntime", reflect.TypeOf((*AgentQueryRuntime)(nil)).Elem())
   661  }
   662  
   663  type AgentQueryRuntimeRequestType struct {
   664  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
   665  }
   666  
   667  func init() {
   668  	types.Add("eam:AgentQueryRuntimeRequestType", reflect.TypeOf((*AgentQueryRuntimeRequestType)(nil)).Elem())
   669  }
   670  
   671  type AgentQueryRuntimeResponse struct {
   672  	Returnval AgentRuntimeInfo `xml:"returnval" json:"returnval"`
   673  }
   674  
   675  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
   676  //
   677  // Extends <code>RuntimeInfo</code> with information regarding the deployment
   678  // of an agent on a specific host.
   679  //
   680  // This structure may be used only with operations rendered under `/eam`.
   681  type AgentRuntimeInfo struct {
   682  	EamObjectRuntimeInfo
   683  
   684  	// Deprecated get that info calling the virtual machine VIM API.
   685  	//
   686  	// The power state of an agent virtual machine.
   687  	VmPowerState types.VirtualMachinePowerState `xml:"vmPowerState" json:"vmPowerState"`
   688  	// Deprecated get that info calling the virtual machine VIM API.
   689  	//
   690  	// True if the vSphere ESX Agent Manager is receiving heartbeats from the
   691  	// agent virtual machine.
   692  	ReceivingHeartBeat bool `xml:"receivingHeartBeat" json:"receivingHeartBeat"`
   693  	// The agent host.
   694  	//
   695  	// Refers instance of `HostSystem`.
   696  	Host *types.ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
   697  	// The agent virtual machine.
   698  	//
   699  	// Refers instance of `VirtualMachine`.
   700  	Vm *types.ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
   701  	// Deprecated get that info calling the virtual machine VIM API.
   702  	//
   703  	// The IP address of the agent virtual machine
   704  	VmIp string `xml:"vmIp,omitempty" json:"vmIp,omitempty"`
   705  	// Deprecated get that info calling the virtual machine VIM API.
   706  	//
   707  	// The name of the agent virtual machine.
   708  	VmName string `xml:"vmName" json:"vmName"`
   709  	// Deprecated in order to retrieve agent resource pool use VIM API.
   710  	//
   711  	// The ESX agent resource pool in which the agent virtual machine resides.
   712  	//
   713  	// Refers instance of `ResourcePool`.
   714  	EsxAgentResourcePool *types.ManagedObjectReference `xml:"esxAgentResourcePool,omitempty" json:"esxAgentResourcePool,omitempty"`
   715  	// Deprecated in order to retrieve agent VM folder use VIM API.
   716  	//
   717  	// The ESX agent folder in which the agent virtual machine resides.
   718  	//
   719  	// Refers instance of `Folder`.
   720  	EsxAgentFolder *types.ManagedObjectReference `xml:"esxAgentFolder,omitempty" json:"esxAgentFolder,omitempty"`
   721  	// Deprecated use `AgentRuntimeInfo.installedVibs` instead.
   722  	//
   723  	// An optional array of IDs of installed bulletins for this agent.
   724  	InstalledBulletin []string `xml:"installedBulletin,omitempty" json:"installedBulletin,omitempty"`
   725  	// Information about the installed vibs on the host.
   726  	InstalledVibs []VibVibInfo `xml:"installedVibs,omitempty" json:"installedVibs,omitempty"`
   727  	// The agency this agent belongs to.
   728  	//
   729  	// Refers instance of `Agency`.
   730  	Agency *types.ManagedObjectReference `xml:"agency,omitempty" json:"agency,omitempty"`
   731  	// Active VM hook.
   732  	//
   733  	// If present agent is actively waiting for `Agent.MarkAsAvailable`.
   734  	// See `AgentVmHook`.
   735  	VmHook *AgentVmHook `xml:"vmHook,omitempty" json:"vmHook,omitempty"`
   736  }
   737  
   738  func init() {
   739  	types.Add("eam:AgentRuntimeInfo", reflect.TypeOf((*AgentRuntimeInfo)(nil)).Elem())
   740  }
   741  
   742  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
   743  //
   744  // Specifies an SSL trust policy.
   745  //
   746  // This structure may be used only with operations rendered under `/eam`.
   747  type AgentSslTrust struct {
   748  	types.DynamicData
   749  }
   750  
   751  func init() {
   752  	types.Add("eam:AgentSslTrust", reflect.TypeOf((*AgentSslTrust)(nil)).Elem())
   753  	types.AddMinAPIVersionForType("eam:AgentSslTrust", "8.2")
   754  }
   755  
   756  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
   757  //
   758  // Specifies the storage policies configured on Agent VMs.
   759  //
   760  // This structure may be used only with operations rendered under `/eam`.
   761  type AgentStoragePolicy struct {
   762  	types.DynamicData
   763  }
   764  
   765  func init() {
   766  	types.Add("eam:AgentStoragePolicy", reflect.TypeOf((*AgentStoragePolicy)(nil)).Elem())
   767  }
   768  
   769  // Deprecated vIB matching rules are no longer supported by EAM. Same
   770  // overlaps with VIB dependency requirements which reside in each
   771  // VIB's metadata.
   772  //
   773  // Specifies regular expressions for Vib name and version.
   774  //
   775  // This structure may be used only with operations rendered under `/eam`.
   776  type AgentVibMatchingRule struct {
   777  	types.DynamicData
   778  
   779  	// Vib name regular expression.
   780  	VibNameRegex string `xml:"vibNameRegex" json:"vibNameRegex"`
   781  	// Vib version regular expression.
   782  	VibVersionRegex string `xml:"vibVersionRegex" json:"vibVersionRegex"`
   783  }
   784  
   785  func init() {
   786  	types.Add("eam:AgentVibMatchingRule", reflect.TypeOf((*AgentVibMatchingRule)(nil)).Elem())
   787  }
   788  
   789  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
   790  //
   791  // Represents an active hook of the VM lifecycle which EAM is waiting on to
   792  // be processed by the client.
   793  //
   794  // The supported hooks are defined by
   795  // `AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterProvisioning`
   796  // and
   797  // `AgencyConfigInfo.manuallyMarkAgentVmAvailableAfterProvisioning`.
   798  // See `Agent.MarkAsAvailable`
   799  //
   800  // This structure may be used only with operations rendered under `/eam`.
   801  type AgentVmHook struct {
   802  	types.DynamicData
   803  
   804  	// The VM for which lifecycle is this hook.
   805  	//
   806  	// This VM may differ from `AgentRuntimeInfo.vm` while an upgrade
   807  	// of the agent VM is in progress.
   808  	//
   809  	// Refers instance of `VirtualMachine`.
   810  	Vm types.ManagedObjectReference `xml:"vm" json:"vm"`
   811  	// The current VM lifecycle state.
   812  	VmState string `xml:"vmState" json:"vmState"`
   813  }
   814  
   815  func init() {
   816  	types.Add("eam:AgentVmHook", reflect.TypeOf((*AgentVmHook)(nil)).Elem())
   817  }
   818  
   819  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
   820  //
   821  // Specifies vSAN specific storage policy configured on Agent VMs.
   822  //
   823  // This structure may be used only with operations rendered under `/eam`.
   824  type AgentVsanStoragePolicy struct {
   825  	AgentStoragePolicy
   826  
   827  	// ID of a storage policy profile created by the user.
   828  	//
   829  	// The type of the
   830  	// profile must be `VirtualMachineDefinedProfileSpec`. The ID must be valid
   831  	// `VirtualMachineDefinedProfileSpec.profileId`.
   832  	ProfileId string `xml:"profileId" json:"profileId"`
   833  }
   834  
   835  func init() {
   836  	types.Add("eam:AgentVsanStoragePolicy", reflect.TypeOf((*AgentVsanStoragePolicy)(nil)).Elem())
   837  }
   838  
   839  // A boxed array of `AgencyVMFolder`. To be used in `Any` placeholders.
   840  //
   841  // This structure may be used only with operations rendered under `/eam`.
   842  type ArrayOfAgencyVMFolder struct {
   843  	AgencyVMFolder []AgencyVMFolder `xml:"AgencyVMFolder,omitempty" json:"_value"`
   844  }
   845  
   846  func init() {
   847  	types.Add("eam:ArrayOfAgencyVMFolder", reflect.TypeOf((*ArrayOfAgencyVMFolder)(nil)).Elem())
   848  }
   849  
   850  // A boxed array of `AgencyVMResourcePool`. To be used in `Any` placeholders.
   851  //
   852  // This structure may be used only with operations rendered under `/eam`.
   853  type ArrayOfAgencyVMResourcePool struct {
   854  	AgencyVMResourcePool []AgencyVMResourcePool `xml:"AgencyVMResourcePool,omitempty" json:"_value"`
   855  }
   856  
   857  func init() {
   858  	types.Add("eam:ArrayOfAgencyVMResourcePool", reflect.TypeOf((*ArrayOfAgencyVMResourcePool)(nil)).Elem())
   859  }
   860  
   861  // A boxed array of `AgentConfigInfo`. To be used in `Any` placeholders.
   862  //
   863  // This structure may be used only with operations rendered under `/eam`.
   864  type ArrayOfAgentConfigInfo struct {
   865  	AgentConfigInfo []AgentConfigInfo `xml:"AgentConfigInfo,omitempty" json:"_value"`
   866  }
   867  
   868  func init() {
   869  	types.Add("eam:ArrayOfAgentConfigInfo", reflect.TypeOf((*ArrayOfAgentConfigInfo)(nil)).Elem())
   870  }
   871  
   872  // A boxed array of `AgentOvfEnvironmentInfoOvfProperty`. To be used in `Any` placeholders.
   873  //
   874  // This structure may be used only with operations rendered under `/eam`.
   875  type ArrayOfAgentOvfEnvironmentInfoOvfProperty struct {
   876  	AgentOvfEnvironmentInfoOvfProperty []AgentOvfEnvironmentInfoOvfProperty `xml:"AgentOvfEnvironmentInfoOvfProperty,omitempty" json:"_value"`
   877  }
   878  
   879  func init() {
   880  	types.Add("eam:ArrayOfAgentOvfEnvironmentInfoOvfProperty", reflect.TypeOf((*ArrayOfAgentOvfEnvironmentInfoOvfProperty)(nil)).Elem())
   881  }
   882  
   883  // A boxed array of `AgentStoragePolicy`. To be used in `Any` placeholders.
   884  //
   885  // This structure may be used only with operations rendered under `/eam`.
   886  type ArrayOfAgentStoragePolicy struct {
   887  	AgentStoragePolicy []BaseAgentStoragePolicy `xml:"AgentStoragePolicy,omitempty,typeattr" json:"_value"`
   888  }
   889  
   890  func init() {
   891  	types.Add("eam:ArrayOfAgentStoragePolicy", reflect.TypeOf((*ArrayOfAgentStoragePolicy)(nil)).Elem())
   892  }
   893  
   894  // A boxed array of `AgentVibMatchingRule`. To be used in `Any` placeholders.
   895  //
   896  // This structure may be used only with operations rendered under `/eam`.
   897  type ArrayOfAgentVibMatchingRule struct {
   898  	AgentVibMatchingRule []AgentVibMatchingRule `xml:"AgentVibMatchingRule,omitempty" json:"_value"`
   899  }
   900  
   901  func init() {
   902  	types.Add("eam:ArrayOfAgentVibMatchingRule", reflect.TypeOf((*ArrayOfAgentVibMatchingRule)(nil)).Elem())
   903  }
   904  
   905  // A boxed array of `Issue`. To be used in `Any` placeholders.
   906  //
   907  // This structure may be used only with operations rendered under `/eam`.
   908  type ArrayOfIssue struct {
   909  	Issue []BaseIssue `xml:"Issue,omitempty,typeattr" json:"_value"`
   910  }
   911  
   912  func init() {
   913  	types.Add("eam:ArrayOfIssue", reflect.TypeOf((*ArrayOfIssue)(nil)).Elem())
   914  }
   915  
   916  // A boxed array of `SolutionsClusterSolutionComplianceResult`. To be used in `Any` placeholders.
   917  //
   918  // This structure may be used only with operations rendered under `/eam`.
   919  type ArrayOfSolutionsClusterSolutionComplianceResult struct {
   920  	SolutionsClusterSolutionComplianceResult []SolutionsClusterSolutionComplianceResult `xml:"SolutionsClusterSolutionComplianceResult,omitempty" json:"_value"`
   921  }
   922  
   923  func init() {
   924  	types.Add("eam:ArrayOfSolutionsClusterSolutionComplianceResult", reflect.TypeOf((*ArrayOfSolutionsClusterSolutionComplianceResult)(nil)).Elem())
   925  }
   926  
   927  // A boxed array of `SolutionsDeploymentUnitComplianceResult`. To be used in `Any` placeholders.
   928  //
   929  // This structure may be used only with operations rendered under `/eam`.
   930  type ArrayOfSolutionsDeploymentUnitComplianceResult struct {
   931  	SolutionsDeploymentUnitComplianceResult []SolutionsDeploymentUnitComplianceResult `xml:"SolutionsDeploymentUnitComplianceResult,omitempty" json:"_value"`
   932  }
   933  
   934  func init() {
   935  	types.Add("eam:ArrayOfSolutionsDeploymentUnitComplianceResult", reflect.TypeOf((*ArrayOfSolutionsDeploymentUnitComplianceResult)(nil)).Elem())
   936  }
   937  
   938  // A boxed array of `SolutionsHookConfig`. To be used in `Any` placeholders.
   939  //
   940  // This structure may be used only with operations rendered under `/eam`.
   941  type ArrayOfSolutionsHookConfig struct {
   942  	SolutionsHookConfig []SolutionsHookConfig `xml:"SolutionsHookConfig,omitempty" json:"_value"`
   943  }
   944  
   945  func init() {
   946  	types.Add("eam:ArrayOfSolutionsHookConfig", reflect.TypeOf((*ArrayOfSolutionsHookConfig)(nil)).Elem())
   947  }
   948  
   949  // A boxed array of `SolutionsHookInfo`. To be used in `Any` placeholders.
   950  //
   951  // This structure may be used only with operations rendered under `/eam`.
   952  type ArrayOfSolutionsHookInfo struct {
   953  	SolutionsHookInfo []SolutionsHookInfo `xml:"SolutionsHookInfo,omitempty" json:"_value"`
   954  }
   955  
   956  func init() {
   957  	types.Add("eam:ArrayOfSolutionsHookInfo", reflect.TypeOf((*ArrayOfSolutionsHookInfo)(nil)).Elem())
   958  }
   959  
   960  // A boxed array of `SolutionsHostComplianceResult`. To be used in `Any` placeholders.
   961  //
   962  // This structure may be used only with operations rendered under `/eam`.
   963  type ArrayOfSolutionsHostComplianceResult struct {
   964  	SolutionsHostComplianceResult []SolutionsHostComplianceResult `xml:"SolutionsHostComplianceResult,omitempty" json:"_value"`
   965  }
   966  
   967  func init() {
   968  	types.Add("eam:ArrayOfSolutionsHostComplianceResult", reflect.TypeOf((*ArrayOfSolutionsHostComplianceResult)(nil)).Elem())
   969  }
   970  
   971  // A boxed array of `SolutionsOvfProperty`. To be used in `Any` placeholders.
   972  //
   973  // This structure may be used only with operations rendered under `/eam`.
   974  type ArrayOfSolutionsOvfProperty struct {
   975  	SolutionsOvfProperty []SolutionsOvfProperty `xml:"SolutionsOvfProperty,omitempty" json:"_value"`
   976  }
   977  
   978  func init() {
   979  	types.Add("eam:ArrayOfSolutionsOvfProperty", reflect.TypeOf((*ArrayOfSolutionsOvfProperty)(nil)).Elem())
   980  }
   981  
   982  // A boxed array of `SolutionsSolutionComplianceResult`. To be used in `Any` placeholders.
   983  //
   984  // This structure may be used only with operations rendered under `/eam`.
   985  type ArrayOfSolutionsSolutionComplianceResult struct {
   986  	SolutionsSolutionComplianceResult []SolutionsSolutionComplianceResult `xml:"SolutionsSolutionComplianceResult,omitempty" json:"_value"`
   987  }
   988  
   989  func init() {
   990  	types.Add("eam:ArrayOfSolutionsSolutionComplianceResult", reflect.TypeOf((*ArrayOfSolutionsSolutionComplianceResult)(nil)).Elem())
   991  }
   992  
   993  // A boxed array of `SolutionsSolutionConfig`. To be used in `Any` placeholders.
   994  //
   995  // This structure may be used only with operations rendered under `/eam`.
   996  type ArrayOfSolutionsSolutionConfig struct {
   997  	SolutionsSolutionConfig []SolutionsSolutionConfig `xml:"SolutionsSolutionConfig,omitempty" json:"_value"`
   998  }
   999  
  1000  func init() {
  1001  	types.Add("eam:ArrayOfSolutionsSolutionConfig", reflect.TypeOf((*ArrayOfSolutionsSolutionConfig)(nil)).Elem())
  1002  }
  1003  
  1004  // A boxed array of `SolutionsSolutionValidationResult`. To be used in `Any` placeholders.
  1005  //
  1006  // This structure may be used only with operations rendered under `/eam`.
  1007  type ArrayOfSolutionsSolutionValidationResult struct {
  1008  	SolutionsSolutionValidationResult []SolutionsSolutionValidationResult `xml:"SolutionsSolutionValidationResult,omitempty" json:"_value"`
  1009  }
  1010  
  1011  func init() {
  1012  	types.Add("eam:ArrayOfSolutionsSolutionValidationResult", reflect.TypeOf((*ArrayOfSolutionsSolutionValidationResult)(nil)).Elem())
  1013  }
  1014  
  1015  // A boxed array of `SolutionsStoragePolicy`. To be used in `Any` placeholders.
  1016  //
  1017  // This structure may be used only with operations rendered under `/eam`.
  1018  type ArrayOfSolutionsStoragePolicy struct {
  1019  	SolutionsStoragePolicy []BaseSolutionsStoragePolicy `xml:"SolutionsStoragePolicy,omitempty,typeattr" json:"_value"`
  1020  }
  1021  
  1022  func init() {
  1023  	types.Add("eam:ArrayOfSolutionsStoragePolicy", reflect.TypeOf((*ArrayOfSolutionsStoragePolicy)(nil)).Elem())
  1024  }
  1025  
  1026  // A boxed array of `SolutionsVMNetworkMapping`. To be used in `Any` placeholders.
  1027  //
  1028  // This structure may be used only with operations rendered under `/eam`.
  1029  type ArrayOfSolutionsVMNetworkMapping struct {
  1030  	SolutionsVMNetworkMapping []SolutionsVMNetworkMapping `xml:"SolutionsVMNetworkMapping,omitempty" json:"_value"`
  1031  }
  1032  
  1033  func init() {
  1034  	types.Add("eam:ArrayOfSolutionsVMNetworkMapping", reflect.TypeOf((*ArrayOfSolutionsVMNetworkMapping)(nil)).Elem())
  1035  }
  1036  
  1037  // A boxed array of `VibVibInfo`. To be used in `Any` placeholders.
  1038  //
  1039  // This structure may be used only with operations rendered under `/eam`.
  1040  type ArrayOfVibVibInfo struct {
  1041  	VibVibInfo []VibVibInfo `xml:"VibVibInfo,omitempty" json:"_value"`
  1042  }
  1043  
  1044  func init() {
  1045  	types.Add("eam:ArrayOfVibVibInfo", reflect.TypeOf((*ArrayOfVibVibInfo)(nil)).Elem())
  1046  }
  1047  
  1048  // An agent virtual machine is expected to be deployed on a host, but the agent virtual machine
  1049  // cannot be deployed because the vSphere ESX Agent Manager is unable to access the OVF
  1050  // package for the agent.
  1051  //
  1052  // This typically happens because the Web server providing the
  1053  // OVF package is down. The Web server is often internal to the solution
  1054  // that created the Agency.
  1055  //
  1056  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager redeploys the agent.
  1057  //
  1058  // This structure may be used only with operations rendered under `/eam`.
  1059  type CannotAccessAgentOVF struct {
  1060  	VmNotDeployed
  1061  
  1062  	// The URL from which the OVF could not be downloaded.
  1063  	DownloadUrl string `xml:"downloadUrl" json:"downloadUrl"`
  1064  }
  1065  
  1066  func init() {
  1067  	types.Add("eam:CannotAccessAgentOVF", reflect.TypeOf((*CannotAccessAgentOVF)(nil)).Elem())
  1068  }
  1069  
  1070  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  1071  //
  1072  // An agent VIB module is expected to be deployed on a host, but the VIM module
  1073  // cannot be deployed because the vSphere ESX Agent Manager is unable to access the VIB
  1074  // package for the agent.
  1075  //
  1076  // This typically happens because the Web server providing the
  1077  // VIB package is down. The Web server is often internal to the solution
  1078  // that created the Agency.
  1079  //
  1080  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager reinstalls the VIB module.
  1081  //
  1082  // This structure may be used only with operations rendered under `/eam`.
  1083  type CannotAccessAgentVib struct {
  1084  	VibNotInstalled
  1085  
  1086  	// The URL from which the VIB package could not be downloaded.
  1087  	DownloadUrl string `xml:"downloadUrl" json:"downloadUrl"`
  1088  }
  1089  
  1090  func init() {
  1091  	types.Add("eam:CannotAccessAgentVib", reflect.TypeOf((*CannotAccessAgentVib)(nil)).Elem())
  1092  }
  1093  
  1094  // This exception is thrown if the certificate provided by the
  1095  // provider is not trusted.
  1096  //
  1097  // This structure may be used only with operations rendered under `/sms`.
  1098  type CertificateNotTrusted struct {
  1099  	AgentIssue
  1100  
  1101  	Url string `xml:"url" json:"url"`
  1102  }
  1103  
  1104  func init() {
  1105  	types.Add("eam:CertificateNotTrusted", reflect.TypeOf((*CertificateNotTrusted)(nil)).Elem())
  1106  }
  1107  
  1108  // An CertificateNotTrusted fault is thrown when an Agency's configuration
  1109  // contains OVF package URL or VIB URL for that vSphere ESX Agent Manager is not
  1110  // able to make successful SSL trust verification of the server's certificate.
  1111  //
  1112  // Reasons for this might be that the certificate provided via the API
  1113  // `AgentConfigInfo.ovfSslTrust` and `AgentConfigInfo.vibSslTrust`
  1114  // or via the script /usr/lib/vmware-eam/bin/eam-utility.py
  1115  //   - is invalid.
  1116  //   - does not match the server's certificate.
  1117  //
  1118  // If there is no provided certificate, the fault is thrown when the server's
  1119  // certificate is not trusted by the system or is invalid - @see
  1120  // `AgentConfigInfo.ovfSslTrust` and
  1121  // `AgentConfigInfo.vibSslTrust`.
  1122  // To enable Agency creation 1) provide a valid certificate used by the
  1123  // server hosting the `AgentConfigInfo.ovfPackageUrl` or
  1124  // `AgentConfigInfo.vibUrl` or 2) ensure the server's certificate is
  1125  // signed by a CA trusted by the system. Then retry the operation, vSphere
  1126  // ESX Agent Manager will retry the SSL trust verification and proceed with
  1127  // reaching the desired state.
  1128  //
  1129  // This structure may be used only with operations rendered under `/eam`.
  1130  type CertificateNotTrustedFault struct {
  1131  	EamAppFault
  1132  
  1133  	// The URL that failed the SSL trust verification.
  1134  	Url string `xml:"url,omitempty" json:"url,omitempty"`
  1135  }
  1136  
  1137  func init() {
  1138  	types.Add("eam:CertificateNotTrustedFault", reflect.TypeOf((*CertificateNotTrustedFault)(nil)).Elem())
  1139  	types.AddMinAPIVersionForType("eam:CertificateNotTrustedFault", "8.2")
  1140  }
  1141  
  1142  type CertificateNotTrustedFaultFault CertificateNotTrustedFault
  1143  
  1144  func init() {
  1145  	types.Add("eam:CertificateNotTrustedFaultFault", reflect.TypeOf((*CertificateNotTrustedFaultFault)(nil)).Elem())
  1146  }
  1147  
  1148  // Base class for all cluster bound agents.
  1149  //
  1150  // This structure may be used only with operations rendered under `/eam`.
  1151  type ClusterAgentAgentIssue struct {
  1152  	AgencyIssue
  1153  
  1154  	// The agent that has this issue.
  1155  	//
  1156  	// Refers instance of `Agent`.
  1157  	Agent types.ManagedObjectReference `xml:"agent" json:"agent"`
  1158  	// The cluster for which this issue is raised.
  1159  	//
  1160  	// Migth be null if the cluster
  1161  	// is missing in vCenter Server inventory.
  1162  	//
  1163  	// Refers instance of `ComputeResource`.
  1164  	Cluster *types.ManagedObjectReference `xml:"cluster,omitempty" json:"cluster,omitempty"`
  1165  }
  1166  
  1167  func init() {
  1168  	types.Add("eam:ClusterAgentAgentIssue", reflect.TypeOf((*ClusterAgentAgentIssue)(nil)).Elem())
  1169  }
  1170  
  1171  // The cluster agent Virtual Machine cannot be deployed, because vSphere ESX
  1172  // Agent Manager is not able to make successful SSL trust verification of the
  1173  // server's certificate, when establishing connection to the provided
  1174  // `AgentConfigInfo.ovfPackageUrl`.
  1175  //
  1176  // Reasons for this might be that the
  1177  // certificate provided via the API `AgentConfigInfo.ovfSslTrust` or via
  1178  // the script /usr/lib/vmware-eam/bin/eam-utility.py
  1179  //   - is invalid.
  1180  //   - does not match the server's certificate.
  1181  //
  1182  // If there is no provided certificate, the issue is raised when the server's
  1183  // certificate is not trusted by the system or invalid - @see
  1184  // `AgentConfigInfo.ovfSslTrust`.
  1185  // To remediate the cluster agent Virtual Machine deployment 1) provide a valid
  1186  // certificate used by the server hosting the
  1187  // `AgentConfigInfo.ovfPackageUrl` or 2) ensure the server's certificate
  1188  // is signed by a CA trusted by the system. Then resolve this issue, vSphere ESX
  1189  // Agent Manager will retry the SSL trust verification and proceed with reaching
  1190  // the desired state.
  1191  //
  1192  // This structure may be used only with operations rendered under `/eam`.
  1193  type ClusterAgentCertificateNotTrusted struct {
  1194  	ClusterAgentVmNotDeployed
  1195  
  1196  	// The URL that failed the SSL trust verification.
  1197  	Url string `xml:"url" json:"url"`
  1198  }
  1199  
  1200  func init() {
  1201  	types.Add("eam:ClusterAgentCertificateNotTrusted", reflect.TypeOf((*ClusterAgentCertificateNotTrusted)(nil)).Elem())
  1202  	types.AddMinAPIVersionForType("eam:ClusterAgentCertificateNotTrusted", "8.2")
  1203  }
  1204  
  1205  type ClusterAgentHostInMaintenanceMode struct {
  1206  	ClusterAgentVmIssue
  1207  }
  1208  
  1209  func init() {
  1210  	types.Add("eam:ClusterAgentHostInMaintenanceMode", reflect.TypeOf((*ClusterAgentHostInMaintenanceMode)(nil)).Elem())
  1211  }
  1212  
  1213  type ClusterAgentHostInPartialMaintenanceMode struct {
  1214  	ClusterAgentVmIssue
  1215  }
  1216  
  1217  func init() {
  1218  	types.Add("eam:ClusterAgentHostInPartialMaintenanceMode", reflect.TypeOf((*ClusterAgentHostInPartialMaintenanceMode)(nil)).Elem())
  1219  }
  1220  
  1221  // The cluster agent Virtual Machine could not be powered-on, because the
  1222  // cluster does not have enough CPU or memory resources.
  1223  //
  1224  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  1225  // powers on the agent Virtual Machine. However, the problem is likely to
  1226  // persist until enough CPU and memory resources are made available.
  1227  //
  1228  // This structure may be used only with operations rendered under `/eam`.
  1229  type ClusterAgentInsufficientClusterResources struct {
  1230  	ClusterAgentVmPoweredOff
  1231  }
  1232  
  1233  func init() {
  1234  	types.Add("eam:ClusterAgentInsufficientClusterResources", reflect.TypeOf((*ClusterAgentInsufficientClusterResources)(nil)).Elem())
  1235  }
  1236  
  1237  // The cluster agent Virtual Machine cannot be deployed, because any of the
  1238  // configured datastores does not have enough disk space.
  1239  //
  1240  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  1241  // redeploys the agent Virtual Machine. However, the problem is likely to
  1242  // persist until enough disk space is freed up on the cluster datastore.
  1243  //
  1244  // This structure may be used only with operations rendered under `/eam`.
  1245  type ClusterAgentInsufficientClusterSpace struct {
  1246  	ClusterAgentVmNotDeployed
  1247  }
  1248  
  1249  func init() {
  1250  	types.Add("eam:ClusterAgentInsufficientClusterSpace", reflect.TypeOf((*ClusterAgentInsufficientClusterSpace)(nil)).Elem())
  1251  }
  1252  
  1253  // Invalid configuration is preventing a cluster agent virtual machine
  1254  // operation.
  1255  //
  1256  // Typically the attached error indicates the particular reason why
  1257  // vSphere ESX Agent Manager is unable to power on or reconfigure the agent
  1258  // virtual machine.
  1259  //
  1260  // This is a passive remediable issue. To remediate update the virtual machine
  1261  // configuration.
  1262  //
  1263  // This structure may be used only with operations rendered under `/eam`.
  1264  type ClusterAgentInvalidConfig struct {
  1265  	ClusterAgentVmIssue
  1266  
  1267  	// The error, that caused this issue.
  1268  	//
  1269  	// It must be either MethodFault or
  1270  	// RuntimeFault.
  1271  	Error types.AnyType `xml:"error,typeattr" json:"error"`
  1272  }
  1273  
  1274  func init() {
  1275  	types.Add("eam:ClusterAgentInvalidConfig", reflect.TypeOf((*ClusterAgentInvalidConfig)(nil)).Elem())
  1276  }
  1277  
  1278  // The cluster agent Virtual Machine cannot be deployed, because any of the
  1279  // configured datastores does not exist on the cluster.
  1280  //
  1281  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  1282  // redeploys the agent Virtual Machine. However, the problem is likely to
  1283  // persist until required Virtual Machine datastores are configured on the
  1284  // cluster.
  1285  //
  1286  // This structure may be used only with operations rendered under `/eam`.
  1287  type ClusterAgentMissingClusterVmDatastore struct {
  1288  	ClusterAgentVmNotDeployed
  1289  
  1290  	// A non-empty array of cluster agent VM datastores that are missing on the
  1291  	// cluster.
  1292  	//
  1293  	// Refers instances of `Datastore`.
  1294  	MissingDatastores []types.ManagedObjectReference `xml:"missingDatastores,omitempty" json:"missingDatastores,omitempty"`
  1295  }
  1296  
  1297  func init() {
  1298  	types.Add("eam:ClusterAgentMissingClusterVmDatastore", reflect.TypeOf((*ClusterAgentMissingClusterVmDatastore)(nil)).Elem())
  1299  }
  1300  
  1301  // The cluster agent Virtual Machine cannot be deployed, because the configured
  1302  // networks do not exist on the cluster.
  1303  //
  1304  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  1305  // redeploys the agent Virtual Machine. However, the problem is likely to
  1306  // persist until required Virtual Machine networks are configured on the
  1307  // cluster.
  1308  //
  1309  // This structure may be used only with operations rendered under `/eam`.
  1310  type ClusterAgentMissingClusterVmNetwork struct {
  1311  	ClusterAgentVmNotDeployed
  1312  
  1313  	// A non-empty array of cluster agent VM networks that are required on the
  1314  	// cluster.
  1315  	//
  1316  	// Refers instances of `Network`.
  1317  	MissingNetworks []types.ManagedObjectReference `xml:"missingNetworks,omitempty" json:"missingNetworks,omitempty"`
  1318  	// The names of the cluster agent VM networks.
  1319  	NetworkNames []string `xml:"networkNames,omitempty" json:"networkNames,omitempty"`
  1320  }
  1321  
  1322  func init() {
  1323  	types.Add("eam:ClusterAgentMissingClusterVmNetwork", reflect.TypeOf((*ClusterAgentMissingClusterVmNetwork)(nil)).Elem())
  1324  }
  1325  
  1326  // A cluster agent virtual machine needs to be provisioned, but an OVF property
  1327  // is either missing or has an invalid value.
  1328  //
  1329  // This is a passive remediable issue. To remediate, update the OVF environment
  1330  // in the agent configuration used to provision the agent virtual machine.
  1331  //
  1332  // This structure may be used only with operations rendered under `/eam`.
  1333  type ClusterAgentOvfInvalidProperty struct {
  1334  	ClusterAgentAgentIssue
  1335  
  1336  	// An optional list of errors that caused this issue.
  1337  	//
  1338  	// These errors are
  1339  	// generated by the vCenter server.
  1340  	Error []types.LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
  1341  }
  1342  
  1343  func init() {
  1344  	types.Add("eam:ClusterAgentOvfInvalidProperty", reflect.TypeOf((*ClusterAgentOvfInvalidProperty)(nil)).Elem())
  1345  }
  1346  
  1347  type ClusterAgentTransitionFailed struct {
  1348  	ClusterAgentAgentIssue
  1349  }
  1350  
  1351  func init() {
  1352  	types.Add("eam:ClusterAgentTransitionFailed", reflect.TypeOf((*ClusterAgentTransitionFailed)(nil)).Elem())
  1353  }
  1354  
  1355  type ClusterAgentVmHookFailed struct {
  1356  	ClusterAgentVmIssue
  1357  }
  1358  
  1359  func init() {
  1360  	types.Add("eam:ClusterAgentVmHookFailed", reflect.TypeOf((*ClusterAgentVmHookFailed)(nil)).Elem())
  1361  }
  1362  
  1363  type ClusterAgentVmHookTimedout struct {
  1364  	ClusterAgentVmIssue
  1365  }
  1366  
  1367  func init() {
  1368  	types.Add("eam:ClusterAgentVmHookTimedout", reflect.TypeOf((*ClusterAgentVmHookTimedout)(nil)).Elem())
  1369  }
  1370  
  1371  type ClusterAgentVmInaccessible struct {
  1372  	ClusterAgentVmIssue
  1373  }
  1374  
  1375  func init() {
  1376  	types.Add("eam:ClusterAgentVmInaccessible", reflect.TypeOf((*ClusterAgentVmInaccessible)(nil)).Elem())
  1377  }
  1378  
  1379  // Base class for all cluster bound Virtual Machines.
  1380  //
  1381  // This structure may be used only with operations rendered under `/eam`.
  1382  type ClusterAgentVmIssue struct {
  1383  	ClusterAgentAgentIssue
  1384  
  1385  	// The Virtual Machine to which this issue is related.
  1386  	//
  1387  	// Refers instance of `VirtualMachine`.
  1388  	Vm types.ManagedObjectReference `xml:"vm" json:"vm"`
  1389  }
  1390  
  1391  func init() {
  1392  	types.Add("eam:ClusterAgentVmIssue", reflect.TypeOf((*ClusterAgentVmIssue)(nil)).Elem())
  1393  }
  1394  
  1395  // A cluster agent Virtual Machine is expected to be deployed on a cluster, but
  1396  // the cluster agent Virtual Machine has not been deployed or has been exlicitly
  1397  // deleted from the cluster.
  1398  //
  1399  // Typically more specific issue (a subclass of this
  1400  // issue) indicates the particular reason why vSphere ESX Agent Manager was
  1401  // unable to deploy the cluster agent Virtual Machine.
  1402  //
  1403  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  1404  // redeploys the cluster agent Virtual Machine.
  1405  //
  1406  // This structure may be used only with operations rendered under `/eam`.
  1407  type ClusterAgentVmNotDeployed struct {
  1408  	ClusterAgentAgentIssue
  1409  }
  1410  
  1411  func init() {
  1412  	types.Add("eam:ClusterAgentVmNotDeployed", reflect.TypeOf((*ClusterAgentVmNotDeployed)(nil)).Elem())
  1413  }
  1414  
  1415  // The cluster agent Virtual Machine can not be removed from a cluster.
  1416  //
  1417  // Typically the description indicates the particular reason why vSphere ESX
  1418  // Agent Manager was unable to remove the cluster agent Virtual Machine.
  1419  //
  1420  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  1421  // removes the cluster agent Virtual Machine.
  1422  //
  1423  // This structure may be used only with operations rendered under `/eam`.
  1424  type ClusterAgentVmNotRemoved struct {
  1425  	ClusterAgentVmIssue
  1426  }
  1427  
  1428  func init() {
  1429  	types.Add("eam:ClusterAgentVmNotRemoved", reflect.TypeOf((*ClusterAgentVmNotRemoved)(nil)).Elem())
  1430  }
  1431  
  1432  // A cluster agent Virtual Machine is expected to be powered on, but the agent
  1433  // Virtual Machine is powered off.
  1434  //
  1435  // Typically more specific issue (a subclass of
  1436  // this issue) indicates the particular reason why vSphere ESX Agent Manager was
  1437  // unable to power on the cluster agent Virtual Machine.
  1438  //
  1439  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  1440  // powers on the cluster agent Virtual Machine.
  1441  //
  1442  // This structure may be used only with operations rendered under `/eam`.
  1443  type ClusterAgentVmPoweredOff struct {
  1444  	ClusterAgentVmIssue
  1445  }
  1446  
  1447  func init() {
  1448  	types.Add("eam:ClusterAgentVmPoweredOff", reflect.TypeOf((*ClusterAgentVmPoweredOff)(nil)).Elem())
  1449  }
  1450  
  1451  // A cluster agent virtual machine is expected to be powered off, but the agent
  1452  // virtual machine is powered on.
  1453  //
  1454  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  1455  // powers off the agent virtual machine.
  1456  //
  1457  // This structure may be used only with operations rendered under `/eam`.
  1458  type ClusterAgentVmPoweredOn struct {
  1459  	ClusterAgentVmIssue
  1460  }
  1461  
  1462  func init() {
  1463  	types.Add("eam:ClusterAgentVmPoweredOn", reflect.TypeOf((*ClusterAgentVmPoweredOn)(nil)).Elem())
  1464  }
  1465  
  1466  type ClusterAgentVmProtected struct {
  1467  	ClusterAgentVmIssue
  1468  }
  1469  
  1470  func init() {
  1471  	types.Add("eam:ClusterAgentVmProtected", reflect.TypeOf((*ClusterAgentVmProtected)(nil)).Elem())
  1472  }
  1473  
  1474  // A cluster agent Virtual Machine is expected to be powered on, but the agent
  1475  // Virtual Machine is suspended.
  1476  //
  1477  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  1478  // powers on the cluster agent Virtual Machine.
  1479  //
  1480  // This structure may be used only with operations rendered under `/eam`.
  1481  type ClusterAgentVmSuspended struct {
  1482  	ClusterAgentVmIssue
  1483  }
  1484  
  1485  func init() {
  1486  	types.Add("eam:ClusterAgentVmSuspended", reflect.TypeOf((*ClusterAgentVmSuspended)(nil)).Elem())
  1487  }
  1488  
  1489  type CreateAgency CreateAgencyRequestType
  1490  
  1491  func init() {
  1492  	types.Add("eam:CreateAgency", reflect.TypeOf((*CreateAgency)(nil)).Elem())
  1493  }
  1494  
  1495  // The parameters of `EsxAgentManager.CreateAgency`.
  1496  //
  1497  // This structure may be used only with operations rendered under `/eam`.
  1498  type CreateAgencyRequestType struct {
  1499  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1500  	// The configuration that describes how to deploy the agents in the
  1501  	// created agency.
  1502  	AgencyConfigInfo BaseAgencyConfigInfo `xml:"agencyConfigInfo,typeattr" json:"agencyConfigInfo"`
  1503  	// Deprecated. No sence to create agency in other state than
  1504  	// <code>enabled</code>. <code>disabled</code> is deprecated
  1505  	// whereas <code>uninstalled</code> is useless.
  1506  	// The initial goal state of the agency. See
  1507  	// `EamObjectRuntimeInfoGoalState_enum`.
  1508  	InitialGoalState string `xml:"initialGoalState" json:"initialGoalState"`
  1509  }
  1510  
  1511  func init() {
  1512  	types.Add("eam:CreateAgencyRequestType", reflect.TypeOf((*CreateAgencyRequestType)(nil)).Elem())
  1513  }
  1514  
  1515  type CreateAgencyResponse struct {
  1516  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
  1517  }
  1518  
  1519  type DestroyAgency DestroyAgencyRequestType
  1520  
  1521  func init() {
  1522  	types.Add("eam:DestroyAgency", reflect.TypeOf((*DestroyAgency)(nil)).Elem())
  1523  }
  1524  
  1525  type DestroyAgencyRequestType struct {
  1526  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1527  }
  1528  
  1529  func init() {
  1530  	types.Add("eam:DestroyAgencyRequestType", reflect.TypeOf((*DestroyAgencyRequestType)(nil)).Elem())
  1531  }
  1532  
  1533  type DestroyAgencyResponse struct {
  1534  }
  1535  
  1536  // Thrown when trying to modify state over disabled clusters.
  1537  //
  1538  // This structure may be used only with operations rendered under `/eam`.
  1539  type DisabledClusterFault struct {
  1540  	EamAppFault
  1541  
  1542  	// The MoRefs of the disabled compute resources.
  1543  	//
  1544  	// Refers instances of `ComputeResource`.
  1545  	DisabledComputeResource []types.ManagedObjectReference `xml:"disabledComputeResource,omitempty" json:"disabledComputeResource,omitempty"`
  1546  }
  1547  
  1548  func init() {
  1549  	types.Add("eam:DisabledClusterFault", reflect.TypeOf((*DisabledClusterFault)(nil)).Elem())
  1550  	types.AddMinAPIVersionForType("eam:DisabledClusterFault", "7.6")
  1551  }
  1552  
  1553  type DisabledClusterFaultFault DisabledClusterFault
  1554  
  1555  func init() {
  1556  	types.Add("eam:DisabledClusterFaultFault", reflect.TypeOf((*DisabledClusterFaultFault)(nil)).Elem())
  1557  }
  1558  
  1559  // Application related error
  1560  // As opposed to system errors, application ones are always function of the
  1561  // input and the current state.
  1562  //
  1563  // They occur always upon same conditions. In most
  1564  // of the cases they are recoverable, i.e. the client can determine what is
  1565  // wrong and know how to recover.
  1566  // NOTE: Since there is not yet need to distinguish among specific error
  1567  // sub-types then we define a common type. Tomorrow, if necessary, we can add an
  1568  // additional level of detailed exception types and make this one abstract.
  1569  //
  1570  // This structure may be used only with operations rendered under `/eam`.
  1571  type EamAppFault struct {
  1572  	EamRuntimeFault
  1573  }
  1574  
  1575  func init() {
  1576  	types.Add("eam:EamAppFault", reflect.TypeOf((*EamAppFault)(nil)).Elem())
  1577  }
  1578  
  1579  type EamAppFaultFault BaseEamAppFault
  1580  
  1581  func init() {
  1582  	types.Add("eam:EamAppFaultFault", reflect.TypeOf((*EamAppFaultFault)(nil)).Elem())
  1583  }
  1584  
  1585  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
  1586  //
  1587  // The common base type for all vSphere ESX Agent Manager exceptions.
  1588  //
  1589  // # TODO migrate to EamRuntimeFault
  1590  //
  1591  // This structure may be used only with operations rendered under `/eam`.
  1592  type EamFault struct {
  1593  	types.MethodFault
  1594  }
  1595  
  1596  func init() {
  1597  	types.Add("eam:EamFault", reflect.TypeOf((*EamFault)(nil)).Elem())
  1598  }
  1599  
  1600  type EamFaultFault BaseEamFault
  1601  
  1602  func init() {
  1603  	types.Add("eam:EamFaultFault", reflect.TypeOf((*EamFaultFault)(nil)).Elem())
  1604  }
  1605  
  1606  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
  1607  //
  1608  // IO error
  1609  // NOTE: Since this type is a first of system-type errors we do not introduce a
  1610  // common base type for them.
  1611  //
  1612  // Once add a second system type exception though, it
  1613  // should be introduced.
  1614  //
  1615  // This structure may be used only with operations rendered under `/eam`.
  1616  type EamIOFault struct {
  1617  	EamRuntimeFault
  1618  }
  1619  
  1620  func init() {
  1621  	types.Add("eam:EamIOFault", reflect.TypeOf((*EamIOFault)(nil)).Elem())
  1622  }
  1623  
  1624  type EamIOFaultFault EamIOFault
  1625  
  1626  func init() {
  1627  	types.Add("eam:EamIOFaultFault", reflect.TypeOf((*EamIOFaultFault)(nil)).Elem())
  1628  }
  1629  
  1630  // Thrown when a user cannot be authenticated.
  1631  //
  1632  // This structure may be used only with operations rendered under `/eam`.
  1633  type EamInvalidLogin struct {
  1634  	EamRuntimeFault
  1635  }
  1636  
  1637  func init() {
  1638  	types.Add("eam:EamInvalidLogin", reflect.TypeOf((*EamInvalidLogin)(nil)).Elem())
  1639  }
  1640  
  1641  type EamInvalidLoginFault EamInvalidLogin
  1642  
  1643  func init() {
  1644  	types.Add("eam:EamInvalidLoginFault", reflect.TypeOf((*EamInvalidLoginFault)(nil)).Elem())
  1645  }
  1646  
  1647  // Thrown when a user is not allowed to execute an operation.
  1648  //
  1649  // This structure may be used only with operations rendered under `/eam`.
  1650  type EamInvalidState struct {
  1651  	EamAppFault
  1652  }
  1653  
  1654  func init() {
  1655  	types.Add("eam:EamInvalidState", reflect.TypeOf((*EamInvalidState)(nil)).Elem())
  1656  }
  1657  
  1658  type EamInvalidStateFault EamInvalidState
  1659  
  1660  func init() {
  1661  	types.Add("eam:EamInvalidStateFault", reflect.TypeOf((*EamInvalidStateFault)(nil)).Elem())
  1662  }
  1663  
  1664  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  1665  //
  1666  // Indicates for an invalid or unknown Vib package structure and/or format.
  1667  //
  1668  // This structure may be used only with operations rendered under `/eam`.
  1669  type EamInvalidVibPackage struct {
  1670  	EamRuntimeFault
  1671  }
  1672  
  1673  func init() {
  1674  	types.Add("eam:EamInvalidVibPackage", reflect.TypeOf((*EamInvalidVibPackage)(nil)).Elem())
  1675  }
  1676  
  1677  type EamInvalidVibPackageFault EamInvalidVibPackage
  1678  
  1679  func init() {
  1680  	types.Add("eam:EamInvalidVibPackageFault", reflect.TypeOf((*EamInvalidVibPackageFault)(nil)).Elem())
  1681  }
  1682  
  1683  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
  1684  //
  1685  // The <code>RuntimeInfo</code> represents the runtime information of the vSphere ESX Agent
  1686  // Manager managed
  1687  // objects `Agency` and `Agent`.
  1688  //
  1689  // The runtime information provides
  1690  // two kinds of information, namely, the
  1691  // desired goal state of the entity and the status with regards to conforming
  1692  // to that goal state.
  1693  //
  1694  // This structure may be used only with operations rendered under `/eam`.
  1695  type EamObjectRuntimeInfo struct {
  1696  	types.DynamicData
  1697  
  1698  	// The health of the managed entity.
  1699  	//
  1700  	// This denotes how well the entity conforms to the
  1701  	// goal state.
  1702  	//
  1703  	// See also `EamObjectRuntimeInfoStatus_enum`.
  1704  	Status string `xml:"status" json:"status"`
  1705  	// Current issues that have been detected for this entity.
  1706  	//
  1707  	// Each issue can be remediated
  1708  	// by invoking `EamObject.Resolve` or `EamObject.ResolveAll`.
  1709  	Issue []BaseIssue `xml:"issue,omitempty,typeattr" json:"issue,omitempty"`
  1710  	// The desired state of the entity.
  1711  	//
  1712  	// See also `EamObjectRuntimeInfoGoalState_enum`.
  1713  	GoalState string `xml:"goalState" json:"goalState"`
  1714  	// The `Agent` or `Agency` with which this <code>RuntimeInfo</code> object is associated.
  1715  	//
  1716  	// Refers instance of `EamObject`.
  1717  	Entity types.ManagedObjectReference `xml:"entity" json:"entity"`
  1718  }
  1719  
  1720  func init() {
  1721  	types.Add("eam:EamObjectRuntimeInfo", reflect.TypeOf((*EamObjectRuntimeInfo)(nil)).Elem())
  1722  }
  1723  
  1724  // The common base type for all vSphere ESX Agent Manager runtime exceptions.
  1725  //
  1726  // This structure may be used only with operations rendered under `/eam`.
  1727  type EamRuntimeFault struct {
  1728  	types.RuntimeFault
  1729  }
  1730  
  1731  func init() {
  1732  	types.Add("eam:EamRuntimeFault", reflect.TypeOf((*EamRuntimeFault)(nil)).Elem())
  1733  }
  1734  
  1735  type EamRuntimeFaultFault BaseEamRuntimeFault
  1736  
  1737  func init() {
  1738  	types.Add("eam:EamRuntimeFaultFault", reflect.TypeOf((*EamRuntimeFaultFault)(nil)).Elem())
  1739  }
  1740  
  1741  // Thrown when calling vSphere ESX Agent Manager when it is not fully
  1742  // initialized.
  1743  //
  1744  // This structure may be used only with operations rendered under `/eam`.
  1745  type EamServiceNotInitialized struct {
  1746  	EamRuntimeFault
  1747  }
  1748  
  1749  func init() {
  1750  	types.Add("eam:EamServiceNotInitialized", reflect.TypeOf((*EamServiceNotInitialized)(nil)).Elem())
  1751  }
  1752  
  1753  type EamServiceNotInitializedFault EamServiceNotInitialized
  1754  
  1755  func init() {
  1756  	types.Add("eam:EamServiceNotInitializedFault", reflect.TypeOf((*EamServiceNotInitializedFault)(nil)).Elem())
  1757  }
  1758  
  1759  // System fault.
  1760  //
  1761  // This structure may be used only with operations rendered under `/eam`.
  1762  type EamSystemFault struct {
  1763  	EamRuntimeFault
  1764  }
  1765  
  1766  func init() {
  1767  	types.Add("eam:EamSystemFault", reflect.TypeOf((*EamSystemFault)(nil)).Elem())
  1768  }
  1769  
  1770  type EamSystemFaultFault EamSystemFault
  1771  
  1772  func init() {
  1773  	types.Add("eam:EamSystemFaultFault", reflect.TypeOf((*EamSystemFaultFault)(nil)).Elem())
  1774  }
  1775  
  1776  // Deprecated as of vSphere 9.0. No longer in use since vSphee 6.5.
  1777  //
  1778  // Extensible issue class used by solutions to add custom issues to agents.
  1779  //
  1780  // When resolved, the issue is removed from the agent and an event is generated.
  1781  //
  1782  // This structure may be used only with operations rendered under `/eam`.
  1783  type ExtensibleIssue struct {
  1784  	Issue
  1785  
  1786  	// Unique string for this type of issue.
  1787  	//
  1788  	// The type must match an event registered
  1789  	// by the solution as part of its extension.
  1790  	TypeId string `xml:"typeId" json:"typeId"`
  1791  	// Arguments associated with the typeId.
  1792  	Argument []types.KeyAnyValue `xml:"argument,omitempty" json:"argument,omitempty"`
  1793  	// A managed object reference to the object this issue is related to.
  1794  	//
  1795  	// Refers instance of `ManagedEntity`.
  1796  	Target *types.ManagedObjectReference `xml:"target,omitempty" json:"target,omitempty"`
  1797  	// An optional agent this issue pertains
  1798  	//
  1799  	// Refers instance of `Agent`.
  1800  	Agent *types.ManagedObjectReference `xml:"agent,omitempty" json:"agent,omitempty"`
  1801  	// An optional agency this issue pertains
  1802  	//
  1803  	// Refers instance of `Agency`.
  1804  	Agency *types.ManagedObjectReference `xml:"agency,omitempty" json:"agency,omitempty"`
  1805  }
  1806  
  1807  func init() {
  1808  	types.Add("eam:ExtensibleIssue", reflect.TypeOf((*ExtensibleIssue)(nil)).Elem())
  1809  }
  1810  
  1811  type GetMaintenanceModePolicy GetMaintenanceModePolicyRequestType
  1812  
  1813  func init() {
  1814  	types.Add("eam:GetMaintenanceModePolicy", reflect.TypeOf((*GetMaintenanceModePolicy)(nil)).Elem())
  1815  }
  1816  
  1817  type GetMaintenanceModePolicyRequestType struct {
  1818  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  1819  }
  1820  
  1821  func init() {
  1822  	types.Add("eam:GetMaintenanceModePolicyRequestType", reflect.TypeOf((*GetMaintenanceModePolicyRequestType)(nil)).Elem())
  1823  }
  1824  
  1825  type GetMaintenanceModePolicyResponse struct {
  1826  	Returnval string `xml:"returnval" json:"returnval"`
  1827  }
  1828  
  1829  // Limits the hooks reported to the user.
  1830  //
  1831  // This structure may be used only with operations rendered under `/eam`.
  1832  type HooksHookListSpec struct {
  1833  	types.DynamicData
  1834  
  1835  	// If specified - will report hooks only for agents from the specified
  1836  	// solutions, otherwise - will report hooks for agents from all solutions.
  1837  	Solutions []string `xml:"solutions,omitempty" json:"solutions,omitempty"`
  1838  	// If specified - will report hooks only for agents on the specified
  1839  	// hosts, otherwise - will report hooks for agents on all hosts.
  1840  	//
  1841  	// Refers instances of `HostSystem`.
  1842  	Hosts []types.ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
  1843  }
  1844  
  1845  func init() {
  1846  	types.Add("eam:HooksHookListSpec", reflect.TypeOf((*HooksHookListSpec)(nil)).Elem())
  1847  }
  1848  
  1849  // Specification for marking a raised hook on an agent Virtual Machine as
  1850  // processed.
  1851  //
  1852  // This structure may be used only with operations rendered under `/eam`.
  1853  type HooksMarkAsProcessedSpec struct {
  1854  	types.DynamicData
  1855  
  1856  	// Virtual Machine to mark a hook as processed.
  1857  	//
  1858  	// Refers instance of `VirtualMachine`.
  1859  	Vm types.ManagedObjectReference `xml:"vm" json:"vm"`
  1860  	// Type of hook to be marked as processed `HooksHookType_enum`.
  1861  	HookType string `xml:"hookType" json:"hookType"`
  1862  	// `True` - if the hook was processed successfully, `False` -
  1863  	// if the hook could not be processed.
  1864  	Success bool `xml:"success" json:"success"`
  1865  }
  1866  
  1867  func init() {
  1868  	types.Add("eam:HooksMarkAsProcessedSpec", reflect.TypeOf((*HooksMarkAsProcessedSpec)(nil)).Elem())
  1869  }
  1870  
  1871  // An agent virtual machine operation is expected to be initiated on host, but
  1872  // the agent virtual machine operation has not been initiated.
  1873  //
  1874  // The reason is
  1875  // that the host is in maintenance mode.
  1876  //
  1877  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  1878  // takes the host out of maintenance mode and initiates the agent virtual
  1879  // machine operation.
  1880  //
  1881  // Resolving this issue in vSphere Lifecyle Manager environemnt will be no-op.
  1882  // In those cases user must take the host out of Maintenance Mode manually or
  1883  // wait vSphere Lifecycle Maanger cluster remediation to complete (if any).
  1884  //
  1885  // This structure may be used only with operations rendered under `/eam`.
  1886  type HostInMaintenanceMode struct {
  1887  	VmDeployed
  1888  }
  1889  
  1890  func init() {
  1891  	types.Add("eam:HostInMaintenanceMode", reflect.TypeOf((*HostInMaintenanceMode)(nil)).Elem())
  1892  }
  1893  
  1894  type HostInPartialMaintenanceMode struct {
  1895  	AgentIssue
  1896  
  1897  	Vm *types.ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
  1898  }
  1899  
  1900  func init() {
  1901  	types.Add("eam:HostInPartialMaintenanceMode", reflect.TypeOf((*HostInPartialMaintenanceMode)(nil)).Elem())
  1902  }
  1903  
  1904  // An agent virtual machine is expected to be removed from a host, but the agent virtual machine has not
  1905  // been removed.
  1906  //
  1907  // The reason is that the host is in standby mode.
  1908  //
  1909  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager puts the host in standby mode
  1910  // and removes the agent virtual machine.
  1911  //
  1912  // This structure may be used only with operations rendered under `/eam`.
  1913  type HostInStandbyMode struct {
  1914  	VmDeployed
  1915  }
  1916  
  1917  func init() {
  1918  	types.Add("eam:HostInStandbyMode", reflect.TypeOf((*HostInStandbyMode)(nil)).Elem())
  1919  }
  1920  
  1921  // Deprecated all host issues were removed.
  1922  //
  1923  // Base class for all host issues.
  1924  //
  1925  // This structure may be used only with operations rendered under `/eam`.
  1926  type HostIssue struct {
  1927  	Issue
  1928  
  1929  	// The host to which the issue is related.
  1930  	//
  1931  	// Refers instance of `HostSystem`.
  1932  	Host types.ManagedObjectReference `xml:"host" json:"host"`
  1933  }
  1934  
  1935  func init() {
  1936  	types.Add("eam:HostIssue", reflect.TypeOf((*HostIssue)(nil)).Elem())
  1937  }
  1938  
  1939  // Deprecated hostPoweredOff will no longer be used, instead
  1940  // `ManagedHostNotReachable` will be raised.
  1941  //
  1942  // An agent virtual machine is expected to be removed from a host, but the agent
  1943  // virtual machine has not been removed.
  1944  //
  1945  // The reason is that the host is powered
  1946  // off.
  1947  //
  1948  // This is not a remediable issue. To remediate, power on the host.
  1949  //
  1950  // This structure may be used only with operations rendered under `/eam`.
  1951  type HostPoweredOff struct {
  1952  	VmDeployed
  1953  }
  1954  
  1955  func init() {
  1956  	types.Add("eam:HostPoweredOff", reflect.TypeOf((*HostPoweredOff)(nil)).Elem())
  1957  }
  1958  
  1959  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  1960  //
  1961  // Live VIB operation failed.
  1962  //
  1963  // An immediate reboot is required to clear live VIB
  1964  // operation failure.
  1965  //
  1966  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  1967  // puts the host into maintenance mode and reboots it.
  1968  //
  1969  // This structure may be used only with operations rendered under `/eam`.
  1970  type ImmediateHostRebootRequired struct {
  1971  	VibIssue
  1972  }
  1973  
  1974  func init() {
  1975  	types.Add("eam:ImmediateHostRebootRequired", reflect.TypeOf((*ImmediateHostRebootRequired)(nil)).Elem())
  1976  }
  1977  
  1978  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
  1979  //
  1980  // An agent virtual machine is expected to be deployed on a host, but the agent could not be
  1981  // deployed because it was incompatible with the host.
  1982  //
  1983  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager redeployes the agent. However,
  1984  // the problem is likely to persist until either the host or the solution has been
  1985  // upgraded, so that the agent will become compatible with the host.
  1986  //
  1987  // This structure may be used only with operations rendered under `/eam`.
  1988  type IncompatibleHostVersion struct {
  1989  	VmNotDeployed
  1990  }
  1991  
  1992  func init() {
  1993  	types.Add("eam:IncompatibleHostVersion", reflect.TypeOf((*IncompatibleHostVersion)(nil)).Elem())
  1994  }
  1995  
  1996  // Deprecated this issue is no longer raised by EAM. It is replaced by
  1997  // `InvalidConfig`.
  1998  //
  1999  // An agent virtual machine is expected to be powered on, but there are no free IP addresses in the
  2000  // agent's pool of virtual machine IP addresses.
  2001  //
  2002  // To remediate, free some IP addresses or add some more to the IP pool and invoke
  2003  // <code>resolve</code>.
  2004  //
  2005  // This structure may be used only with operations rendered under `/eam`.
  2006  type InsufficientIpAddresses struct {
  2007  	VmPoweredOff
  2008  
  2009  	// The agent virtual machine network.
  2010  	//
  2011  	// Refers instance of `Network`.
  2012  	Network types.ManagedObjectReference `xml:"network" json:"network"`
  2013  }
  2014  
  2015  func init() {
  2016  	types.Add("eam:InsufficientIpAddresses", reflect.TypeOf((*InsufficientIpAddresses)(nil)).Elem())
  2017  }
  2018  
  2019  // An agent virtual machine is expected to be deployed on a host, but the agent virtual machine could not be
  2020  // deployed because the host does not have enough free CPU or memory resources.
  2021  //
  2022  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager redeploys the agent virtual machine. However,
  2023  // the problem is likely to persist until enough CPU and memory resources are made available.
  2024  //
  2025  // This structure may be used only with operations rendered under `/eam`.
  2026  type InsufficientResources struct {
  2027  	VmNotDeployed
  2028  }
  2029  
  2030  func init() {
  2031  	types.Add("eam:InsufficientResources", reflect.TypeOf((*InsufficientResources)(nil)).Elem())
  2032  }
  2033  
  2034  // An agent virtual machine is expected to be deployed on a host, but the agent virtual machine could not be
  2035  // deployed because the host's agent datastore did not have enough free space.
  2036  //
  2037  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager redeploys the agent virtual machine. However,
  2038  // the problem is likely to persist until either space is freed up on the host's agent
  2039  // virtual machine datastore or a new agent virtual machine datastore with enough free space is configured.
  2040  //
  2041  // This structure may be used only with operations rendered under `/eam`.
  2042  type InsufficientSpace struct {
  2043  	VmNotDeployed
  2044  }
  2045  
  2046  func init() {
  2047  	types.Add("eam:InsufficientSpace", reflect.TypeOf((*InsufficientSpace)(nil)).Elem())
  2048  }
  2049  
  2050  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2051  //
  2052  // Cannot remove the Baseline associated with an Agency from VUM.
  2053  //
  2054  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  2055  // retries the delete operation.
  2056  // Note: In future this issue will denote also the removal of the Agency
  2057  // software (VIBs) from VUM software depot once VUM provides an API for that.
  2058  //
  2059  // This structure may be used only with operations rendered under `/eam`.
  2060  type IntegrityAgencyCannotDeleteSoftware struct {
  2061  	IntegrityAgencyVUMIssue
  2062  }
  2063  
  2064  func init() {
  2065  	types.Add("eam:IntegrityAgencyCannotDeleteSoftware", reflect.TypeOf((*IntegrityAgencyCannotDeleteSoftware)(nil)).Elem())
  2066  }
  2067  
  2068  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2069  //
  2070  // The software defined by an Agency cannot be staged in VUM.
  2071  //
  2072  // The staging
  2073  // operation consists of the following steps:
  2074  //   - Upload the Agency software (VIBs) to the VUM depot.
  2075  //   - Create or update a VUM Baseline with the Agency software and scope.
  2076  //
  2077  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  2078  // retries the stage operation.
  2079  //
  2080  // This structure may be used only with operations rendered under `/eam`.
  2081  type IntegrityAgencyCannotStageSoftware struct {
  2082  	IntegrityAgencyVUMIssue
  2083  }
  2084  
  2085  func init() {
  2086  	types.Add("eam:IntegrityAgencyCannotStageSoftware", reflect.TypeOf((*IntegrityAgencyCannotStageSoftware)(nil)).Elem())
  2087  }
  2088  
  2089  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2090  //
  2091  // Base class for all issues which occurred during EAM communication with
  2092  // vSphere Update Manager (VUM).
  2093  //
  2094  // This structure may be used only with operations rendered under `/eam`.
  2095  type IntegrityAgencyVUMIssue struct {
  2096  	AgencyIssue
  2097  }
  2098  
  2099  func init() {
  2100  	types.Add("eam:IntegrityAgencyVUMIssue", reflect.TypeOf((*IntegrityAgencyVUMIssue)(nil)).Elem())
  2101  }
  2102  
  2103  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2104  //
  2105  // VUM service is not available - its registered SOAP endpoint cannot be
  2106  // accessed or it is malfunctioning.
  2107  //
  2108  // This is an active and passive remediable issue. To remediate, vSphere ESX
  2109  // Agent Manager retries to access VUM service.
  2110  //
  2111  // This structure may be used only with operations rendered under `/eam`.
  2112  type IntegrityAgencyVUMUnavailable struct {
  2113  	IntegrityAgencyVUMIssue
  2114  }
  2115  
  2116  func init() {
  2117  	types.Add("eam:IntegrityAgencyVUMUnavailable", reflect.TypeOf((*IntegrityAgencyVUMUnavailable)(nil)).Elem())
  2118  }
  2119  
  2120  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
  2121  //
  2122  // An <code>InvalidAgencyScope</code> fault is thrown when the scope in an
  2123  // `AgencyConfigInfo` is invalid.
  2124  //
  2125  // See also `AgencyConfigInfo`.
  2126  //
  2127  // This structure may be used only with operations rendered under `/eam`.
  2128  type InvalidAgencyScope struct {
  2129  	EamFault
  2130  
  2131  	// The MoRefs of the unknown compute resources.
  2132  	//
  2133  	// Refers instances of `ComputeResource`.
  2134  	UnknownComputeResource []types.ManagedObjectReference `xml:"unknownComputeResource,omitempty" json:"unknownComputeResource,omitempty"`
  2135  }
  2136  
  2137  func init() {
  2138  	types.Add("eam:InvalidAgencyScope", reflect.TypeOf((*InvalidAgencyScope)(nil)).Elem())
  2139  }
  2140  
  2141  type InvalidAgencyScopeFault InvalidAgencyScope
  2142  
  2143  func init() {
  2144  	types.Add("eam:InvalidAgencyScopeFault", reflect.TypeOf((*InvalidAgencyScopeFault)(nil)).Elem())
  2145  }
  2146  
  2147  // Deprecated as of vSphere 9.0. Please refer to vLCM APIs.
  2148  //
  2149  // An <code>InvalidAgentConfiguration</code> fault is thrown when the agent
  2150  // configuration of an agency configuration is empty or invalid.
  2151  //
  2152  // See also `AgencyConfigInfo`.
  2153  //
  2154  // This structure may be used only with operations rendered under `/eam`.
  2155  type InvalidAgentConfiguration struct {
  2156  	EamFault
  2157  
  2158  	// An optional invalid agent configuration.
  2159  	InvalidAgentConfiguration *AgentConfigInfo `xml:"invalidAgentConfiguration,omitempty" json:"invalidAgentConfiguration,omitempty"`
  2160  	// The invalid field.
  2161  	InvalidField string `xml:"invalidField,omitempty" json:"invalidField,omitempty"`
  2162  }
  2163  
  2164  func init() {
  2165  	types.Add("eam:InvalidAgentConfiguration", reflect.TypeOf((*InvalidAgentConfiguration)(nil)).Elem())
  2166  }
  2167  
  2168  type InvalidAgentConfigurationFault InvalidAgentConfiguration
  2169  
  2170  func init() {
  2171  	types.Add("eam:InvalidAgentConfigurationFault", reflect.TypeOf((*InvalidAgentConfigurationFault)(nil)).Elem())
  2172  }
  2173  
  2174  // Invalid configuration is preventing a virtual machine operation.
  2175  //
  2176  // Typically
  2177  // the attached error indicates the particular reason why vSphere ESX Agent
  2178  // Manager is unable to power on or reconfigure the agent virtual machine.
  2179  //
  2180  // This is a passive remediable issue. To remediate update the virtual machine
  2181  // configuration.
  2182  //
  2183  // This structure may be used only with operations rendered under `/eam`.
  2184  type InvalidConfig struct {
  2185  	VmIssue
  2186  
  2187  	// The error, that caused this issue.
  2188  	//
  2189  	// It must be either MethodFault or
  2190  	// RuntimeFault.
  2191  	Error types.AnyType `xml:"error,typeattr" json:"error"`
  2192  }
  2193  
  2194  func init() {
  2195  	types.Add("eam:InvalidConfig", reflect.TypeOf((*InvalidConfig)(nil)).Elem())
  2196  }
  2197  
  2198  // This exception is thrown if `VasaProviderSpec.url` is malformed.
  2199  //
  2200  // This structure may be used only with operations rendered under `/sms`.
  2201  type InvalidUrl struct {
  2202  	EamFault
  2203  
  2204  	// Provider `VasaProviderSpec.url`
  2205  	Url               string `xml:"url" json:"url"`
  2206  	MalformedUrl      bool   `xml:"malformedUrl" json:"malformedUrl"`
  2207  	UnknownHost       bool   `xml:"unknownHost" json:"unknownHost"`
  2208  	ConnectionRefused bool   `xml:"connectionRefused" json:"connectionRefused"`
  2209  	ResponseCode      int32  `xml:"responseCode,omitempty" json:"responseCode,omitempty"`
  2210  }
  2211  
  2212  func init() {
  2213  	types.Add("eam:InvalidUrl", reflect.TypeOf((*InvalidUrl)(nil)).Elem())
  2214  }
  2215  
  2216  type InvalidUrlFault InvalidUrl
  2217  
  2218  func init() {
  2219  	types.Add("eam:InvalidUrlFault", reflect.TypeOf((*InvalidUrlFault)(nil)).Elem())
  2220  }
  2221  
  2222  // An issue represents a problem encountered while deploying and configurating agents
  2223  // in a vCenter installation.
  2224  //
  2225  // An issue conveys the type of problem and the
  2226  // entitity on which the problem has been encountered. Most issues are related to agents,
  2227  // but they can also relate to an agency or a host.
  2228  //
  2229  // The set of issues provided by the vSphere ESX Agent Manager describes the discrepency between
  2230  // the _desired_ agent deployment state, as defined by the agency configurations,
  2231  // and the _actual_ deployment. The (@link EamObject.RuntimeInfo.Status.status)
  2232  // of an agency or agent is green if it has reached its goal state. It is
  2233  // marked as yellow if the vSphere ESX Agent Manager is actively working to bring the object
  2234  // to its goal state. It is red if there is a discrepency between the current state and
  2235  // the desired state. In the red state, a set of issues are filed on the object that
  2236  // describe the reason for the discrepency between the desired and actual states.
  2237  //
  2238  // Issues are characterized as either active or passive remediable issues. For an active
  2239  // remediable issue, the vSphere ESX Agent Manager can actively try to solve the issue. For
  2240  // example, by deploying a new agent, removing an agent, changing its power state, and so
  2241  // on. For a passive remediable issue, the vSphere ESX Agent Manager is not able to solve the
  2242  // problem directly, and can only report the problem. For example, this could be
  2243  // caused by an incomplete host configuration.
  2244  //
  2245  // When <code>resolve</code> is called for an active remediable issue, the vSphere ESX Agent Manager
  2246  // starts performing the appropiate remediation steps for the particular issue. For a passive
  2247  // remediable issue, the EAM manager simply checks if the condition
  2248  // still exists, and if not it removes the issue.
  2249  //
  2250  // The vSphere ESX Agent Manager actively monitors most conditions relating to both
  2251  // active and passive issues. Thus, it often automatically discovers when an
  2252  // issue has been remediated and removes the issue without needing to explicitly
  2253  // call <code>resolve</code> on an issue.
  2254  //
  2255  // The complete Issue hierarchy is shown below:
  2256  //   - `Issue`
  2257  //   - `AgencyIssue`
  2258  //   - `AgentIssue`
  2259  //   - `ManagedHostNotReachable`
  2260  //   - `VmNotDeployed`
  2261  //   - `CannotAccessAgentOVF`
  2262  //   - `IncompatibleHostVersion`
  2263  //   - `InsufficientResources`
  2264  //   - `InsufficientSpace`
  2265  //   - `OvfInvalidFormat`
  2266  //   - `NoAgentVmDatastore`
  2267  //   - `NoAgentVmNetwork`
  2268  //   - `VmIssue`
  2269  //   - `OvfInvalidProperty`
  2270  //   - `VmDeployed`
  2271  //   - `HostInMaintenanceMode`
  2272  //   - `HostInStandbyMode`
  2273  //   - `VmCorrupted`
  2274  //   - `VmOrphaned`
  2275  //   - `VmPoweredOff`
  2276  //   - `InsufficientIpAddresses`
  2277  //   - `MissingAgentIpPool`
  2278  //   - `VmPoweredOn`
  2279  //   - `VmSuspended`
  2280  //   - `VibIssue`
  2281  //   - `VibCannotPutHostInMaintenanceMode`
  2282  //   - `VibNotInstalled`
  2283  //   - `CannotAccessAgentVib`
  2284  //   - `VibDependenciesNotMetByHost`
  2285  //   - `VibInvalidFormat`
  2286  //   - `VibRequirementsNotMetByHost`
  2287  //   - `VibRequiresHostInMaintenanceMode`
  2288  //   - `VibRequiresHostReboot`
  2289  //   - `VibRequiresManualInstallation`
  2290  //   - `VibRequiresManualUninstallation`
  2291  //   - `ImmediateHostRebootRequired`
  2292  //   - `OrphanedAgency`
  2293  //   - `IntegrityAgencyVUMIssue`
  2294  //   - `IntegrityAgencyVUMUnavailable`
  2295  //   - `IntegrityAgencyCannotStageSoftware`
  2296  //   - `IntegrityAgencyCannotDeleteSoftware`
  2297  //   - `ClusterAgentAgentIssue`
  2298  //   - `ClusterAgentVmIssue`
  2299  //   - `ClusterAgentVmNotRemoved`
  2300  //   - `ClusterAgentVmPoweredOff`
  2301  //   - `ClusterAgentInsufficientClusterResources`
  2302  //   - `ClusterAgentVmNotDeployed`
  2303  //   - `ClusterAgentInsufficientClusterSpace`
  2304  //   - `ClusterAgentMissingClusterVmDatastore`
  2305  //   - `ClusterAgentMissingClusterVmNetwork`
  2306  //
  2307  // See also `EamObject.Resolve`, `EamObject.ResolveAll`.
  2308  //
  2309  // This structure may be used only with operations rendered under `/eam`.
  2310  type Issue struct {
  2311  	types.DynamicData
  2312  
  2313  	// A unique identifier per <code>Issue</code> instance.
  2314  	Key int32 `xml:"key" json:"key"`
  2315  	// A localized message describing the issue.
  2316  	Description string `xml:"description" json:"description"`
  2317  	// The point in time when this issue was generated.
  2318  	//
  2319  	// Note that issues can be
  2320  	// regenerated periodically, so this time does not neccessarily reflect the
  2321  	// first time the issue was detected.
  2322  	Time time.Time `xml:"time" json:"time"`
  2323  }
  2324  
  2325  func init() {
  2326  	types.Add("eam:Issue", reflect.TypeOf((*Issue)(nil)).Elem())
  2327  }
  2328  
  2329  // Managed ESXi Server is unreachable from vCenter Server or vSphere ESX Agent
  2330  // Manager.
  2331  //
  2332  // Currently all operations on the affected host are imposible. Reasons
  2333  // for this might be :
  2334  //   - ESXi Server is not connected from vCenter Server
  2335  //   - ESXi Server powered off
  2336  //
  2337  // This is not a remediable issue. To remediate, connect, power on or reboot the
  2338  // host.
  2339  //
  2340  // This structure may be used only with operations rendered under `/eam`.
  2341  type ManagedHostNotReachable struct {
  2342  	AgentIssue
  2343  }
  2344  
  2345  func init() {
  2346  	types.Add("eam:ManagedHostNotReachable", reflect.TypeOf((*ManagedHostNotReachable)(nil)).Elem())
  2347  }
  2348  
  2349  type MarkAsAvailable MarkAsAvailableRequestType
  2350  
  2351  func init() {
  2352  	types.Add("eam:MarkAsAvailable", reflect.TypeOf((*MarkAsAvailable)(nil)).Elem())
  2353  }
  2354  
  2355  type MarkAsAvailableRequestType struct {
  2356  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  2357  }
  2358  
  2359  func init() {
  2360  	types.Add("eam:MarkAsAvailableRequestType", reflect.TypeOf((*MarkAsAvailableRequestType)(nil)).Elem())
  2361  }
  2362  
  2363  type MarkAsAvailableResponse struct {
  2364  }
  2365  
  2366  // Deprecated this issue is no longer raised by EAM. It is replaced by
  2367  // `InvalidConfig`.
  2368  //
  2369  // An agent virtual machine is expected to be powered on, but the agent virtual machine is powered off because
  2370  // there there are no IP addresses defined on the agent's virtual machine network.
  2371  //
  2372  // To remediate, create an IP pool on the agent's virtual machine network and invoke <code>resolve</code>.
  2373  //
  2374  // This structure may be used only with operations rendered under `/eam`.
  2375  type MissingAgentIpPool struct {
  2376  	VmPoweredOff
  2377  
  2378  	// The agent virtual machine network.
  2379  	//
  2380  	// Refers instance of `Network`.
  2381  	Network types.ManagedObjectReference `xml:"network" json:"network"`
  2382  }
  2383  
  2384  func init() {
  2385  	types.Add("eam:MissingAgentIpPool", reflect.TypeOf((*MissingAgentIpPool)(nil)).Elem())
  2386  }
  2387  
  2388  // Deprecated dvFilters are no longer supported by EAM.
  2389  //
  2390  // The agent is using the dvFilter API on the ESX host, but no dvFilter switch
  2391  // has been configured on the host.
  2392  //
  2393  // This can happen due to host communication
  2394  // failures or if the dvSwitch was (presumably accidentally) deleted from the
  2395  // host configuration.
  2396  //
  2397  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  2398  // recreates the dvFilter switch.
  2399  //
  2400  // This structure may be used only with operations rendered under `/eam`.
  2401  type MissingDvFilterSwitch struct {
  2402  	AgentIssue
  2403  }
  2404  
  2405  func init() {
  2406  	types.Add("eam:MissingDvFilterSwitch", reflect.TypeOf((*MissingDvFilterSwitch)(nil)).Elem())
  2407  }
  2408  
  2409  // An agent virtual machine is expected to be deployed on a host, but the agent cannot be
  2410  // deployed because the agent datastore has not been configured on the host.
  2411  //
  2412  // This is a passive remediable issue. The administrator must configure
  2413  // the agent virtual machine datastore on the host.
  2414  //
  2415  // This structure may be used only with operations rendered under `/eam`.
  2416  type NoAgentVmDatastore struct {
  2417  	VmNotDeployed
  2418  }
  2419  
  2420  func init() {
  2421  	types.Add("eam:NoAgentVmDatastore", reflect.TypeOf((*NoAgentVmDatastore)(nil)).Elem())
  2422  }
  2423  
  2424  // An agent virtual machine is expected to be deployed on a host, but the agent cannot be
  2425  // deployed because the agent network has not been configured on the host.
  2426  //
  2427  // This is a passive remediable issue. The administrator must configure
  2428  // the agent virtual machine network on the host.
  2429  //
  2430  // This structure may be used only with operations rendered under `/eam`.
  2431  type NoAgentVmNetwork struct {
  2432  	VmNotDeployed
  2433  }
  2434  
  2435  func init() {
  2436  	types.Add("eam:NoAgentVmNetwork", reflect.TypeOf((*NoAgentVmNetwork)(nil)).Elem())
  2437  }
  2438  
  2439  // Thrown when calling vSphere ESX Agent Manager when it is not connected to the vCenter server.
  2440  //
  2441  // This structure may be used only with operations rendered under `/eam`.
  2442  type NoConnectionToVCenter struct {
  2443  	EamRuntimeFault
  2444  }
  2445  
  2446  func init() {
  2447  	types.Add("eam:NoConnectionToVCenter", reflect.TypeOf((*NoConnectionToVCenter)(nil)).Elem())
  2448  }
  2449  
  2450  type NoConnectionToVCenterFault NoConnectionToVCenter
  2451  
  2452  func init() {
  2453  	types.Add("eam:NoConnectionToVCenterFault", reflect.TypeOf((*NoConnectionToVCenterFault)(nil)).Elem())
  2454  }
  2455  
  2456  // An agent virtual machine is expected to be deployed on a host, but the agent cannot be
  2457  // deployed because the agent datastore has not been configured on the host.
  2458  //
  2459  // The host
  2460  // needs to be added to one of the datastores listed in customAgentVmDatastore.
  2461  //
  2462  // This is a passive remediable issue. The administrator must add one of the datastores
  2463  // customAgentVmDatastore to the host.
  2464  //
  2465  // This structure may be used only with operations rendered under `/eam`.
  2466  type NoCustomAgentVmDatastore struct {
  2467  	NoAgentVmDatastore
  2468  
  2469  	// A non-empty array of agent VM datastores that is required on the host.
  2470  	//
  2471  	// Refers instances of `Datastore`.
  2472  	CustomAgentVmDatastore []types.ManagedObjectReference `xml:"customAgentVmDatastore" json:"customAgentVmDatastore"`
  2473  	// The names of the agent VM datastores.
  2474  	CustomAgentVmDatastoreName []string `xml:"customAgentVmDatastoreName" json:"customAgentVmDatastoreName"`
  2475  }
  2476  
  2477  func init() {
  2478  	types.Add("eam:NoCustomAgentVmDatastore", reflect.TypeOf((*NoCustomAgentVmDatastore)(nil)).Elem())
  2479  }
  2480  
  2481  // An agent virtual machine is expected to be deployed on a host, but the agent cannot be
  2482  // deployed because the agent network has not been configured on the host.
  2483  //
  2484  // The host
  2485  // needs to be added to one of the networks listed in customAgentVmNetwork.
  2486  //
  2487  // This is a passive remediable issue. The administrator must add one of the networks
  2488  // customAgentVmNetwork to the host.
  2489  //
  2490  // This structure may be used only with operations rendered under `/eam`.
  2491  type NoCustomAgentVmNetwork struct {
  2492  	NoAgentVmNetwork
  2493  
  2494  	// A non-empty array of agent VM networks that is required on the host.
  2495  	//
  2496  	// Refers instances of `Network`.
  2497  	CustomAgentVmNetwork []types.ManagedObjectReference `xml:"customAgentVmNetwork" json:"customAgentVmNetwork"`
  2498  	// The names of the agent VM networks.
  2499  	CustomAgentVmNetworkName []string `xml:"customAgentVmNetworkName" json:"customAgentVmNetworkName"`
  2500  }
  2501  
  2502  func init() {
  2503  	types.Add("eam:NoCustomAgentVmNetwork", reflect.TypeOf((*NoCustomAgentVmNetwork)(nil)).Elem())
  2504  }
  2505  
  2506  // Deprecated as of vSphere 9.0. No longer in use since vCLS 2.0.
  2507  //
  2508  // An agent virtual machine is expected to be deployed on a host, but the
  2509  // agent cannot be deployed because the agent VM datastore could not be
  2510  // discovered, as per defined selection policy, on the host.
  2511  //
  2512  // This issue can be remediated passively if the administrator configures
  2513  // new datastores on the host.
  2514  //
  2515  // This structure may be used only with operations rendered under `/eam`.
  2516  type NoDiscoverableAgentVmDatastore struct {
  2517  	VmNotDeployed
  2518  }
  2519  
  2520  func init() {
  2521  	types.Add("eam:NoDiscoverableAgentVmDatastore", reflect.TypeOf((*NoDiscoverableAgentVmDatastore)(nil)).Elem())
  2522  }
  2523  
  2524  // Deprecated as of vSphere 9.0. No longer in use since vCLS 2.0.
  2525  //
  2526  // An agent virtual machine is expected to be deployed on a host, but the
  2527  // agent cannot be deployed because the agent VM network could not be
  2528  // discovered, as per defined selection policy, on the host.
  2529  //
  2530  // This issue can be remediated passively if the administrator configures
  2531  // new networks on the host.
  2532  //
  2533  // This structure may be used only with operations rendered under `/eam`.
  2534  type NoDiscoverableAgentVmNetwork struct {
  2535  	VmNotDeployed
  2536  }
  2537  
  2538  func init() {
  2539  	types.Add("eam:NoDiscoverableAgentVmNetwork", reflect.TypeOf((*NoDiscoverableAgentVmNetwork)(nil)).Elem())
  2540  }
  2541  
  2542  // Thrown when an a user cannot be authorized.
  2543  //
  2544  // This structure may be used only with operations rendered under `/eam`.
  2545  type NotAuthorized struct {
  2546  	EamRuntimeFault
  2547  }
  2548  
  2549  func init() {
  2550  	types.Add("eam:NotAuthorized", reflect.TypeOf((*NotAuthorized)(nil)).Elem())
  2551  }
  2552  
  2553  type NotAuthorizedFault NotAuthorized
  2554  
  2555  func init() {
  2556  	types.Add("eam:NotAuthorizedFault", reflect.TypeOf((*NotAuthorizedFault)(nil)).Elem())
  2557  }
  2558  
  2559  // Deprecated eAM no longer raises this issue. If agecny is getting orphaned
  2560  // EAM simply destroys it.
  2561  //
  2562  // The solution that created the agency is no longer registered with the vCenter
  2563  // server.
  2564  //
  2565  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  2566  // undeploys and removes the agency.
  2567  //
  2568  // This structure may be used only with operations rendered under `/eam`.
  2569  type OrphanedAgency struct {
  2570  	AgencyIssue
  2571  }
  2572  
  2573  func init() {
  2574  	types.Add("eam:OrphanedAgency", reflect.TypeOf((*OrphanedAgency)(nil)).Elem())
  2575  }
  2576  
  2577  // Deprecated dvFilters are no longer supported by EAM.
  2578  //
  2579  // A dvFilter switch exists on a host but no agents on the host depend on
  2580  // dvFilter.
  2581  //
  2582  // This typically happens if a host is disconnected when an agency
  2583  // configuration changed.
  2584  //
  2585  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  2586  // removes the dvFilterSwitch.
  2587  //
  2588  // This structure may be used only with operations rendered under `/eam`.
  2589  type OrphanedDvFilterSwitch struct {
  2590  	HostIssue
  2591  }
  2592  
  2593  func init() {
  2594  	types.Add("eam:OrphanedDvFilterSwitch", reflect.TypeOf((*OrphanedDvFilterSwitch)(nil)).Elem())
  2595  }
  2596  
  2597  // An Agent virtual machine is expected to be provisioned on a host, but it failed to do so
  2598  // because the provisioning of the OVF package failed.
  2599  //
  2600  // The provisioning is unlikely to
  2601  // succeed until the solution that provides the OVF package has been upgraded or
  2602  // patched to provide a valid OVF package for the agent virtual machine.
  2603  //
  2604  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager attempts the OVF provisioning again.
  2605  //
  2606  // This structure may be used only with operations rendered under `/eam`.
  2607  type OvfInvalidFormat struct {
  2608  	VmNotDeployed
  2609  
  2610  	// An optional list of errors that caused this issue.
  2611  	//
  2612  	// These errors are generated by the
  2613  	// vCenter server.
  2614  	Error []types.LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
  2615  }
  2616  
  2617  func init() {
  2618  	types.Add("eam:OvfInvalidFormat", reflect.TypeOf((*OvfInvalidFormat)(nil)).Elem())
  2619  }
  2620  
  2621  // An agent virtual machine needs to be provisioned or reconfigured, but an OVF
  2622  // property is either missing or has an invalid value.
  2623  //
  2624  // This is a passive remediable issue. To remediate, update the OVF environment
  2625  // in the agent configuration used to provision the agent virtual machine.
  2626  //
  2627  // This structure may be used only with operations rendered under `/eam`.
  2628  type OvfInvalidProperty struct {
  2629  	AgentIssue
  2630  
  2631  	// An optional list of errors that caused this issue.
  2632  	//
  2633  	// These errors are
  2634  	// generated by the vCenter server.
  2635  	Error []types.LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
  2636  }
  2637  
  2638  func init() {
  2639  	types.Add("eam:OvfInvalidProperty", reflect.TypeOf((*OvfInvalidProperty)(nil)).Elem())
  2640  }
  2641  
  2642  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2643  //
  2644  // EAM was unable to set its required compute resource configuration in PM.
  2645  //
  2646  // EAM configuration needs to be updated or PM needs to be repaired manually to
  2647  // allow the configuration.
  2648  //
  2649  // This structure may be used only with operations rendered under `/eam`.
  2650  type PersonalityAgencyCannotConfigureSolutions struct {
  2651  	PersonalityAgencyPMIssue
  2652  
  2653  	// Compute resource that couldn't be configured
  2654  	//
  2655  	// Refers instance of `ComputeResource`.
  2656  	Cr types.ManagedObjectReference `xml:"cr" json:"cr"`
  2657  	// Names of the solutions attempted to be modified
  2658  	SolutionsToModify []string `xml:"solutionsToModify,omitempty" json:"solutionsToModify,omitempty"`
  2659  	// Names of the solutions attempted to be removed
  2660  	SolutionsToRemove []string `xml:"solutionsToRemove,omitempty" json:"solutionsToRemove,omitempty"`
  2661  }
  2662  
  2663  func init() {
  2664  	types.Add("eam:PersonalityAgencyCannotConfigureSolutions", reflect.TypeOf((*PersonalityAgencyCannotConfigureSolutions)(nil)).Elem())
  2665  }
  2666  
  2667  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2668  //
  2669  // The offline depot could not be uploaded in Personality Manager.
  2670  //
  2671  // This structure may be used only with operations rendered under `/eam`.
  2672  type PersonalityAgencyCannotUploadDepot struct {
  2673  	PersonalityAgencyDepotIssue
  2674  
  2675  	// URL EAM hosted the offline bundle as in vCenter.
  2676  	LocalDepotUrl string `xml:"localDepotUrl" json:"localDepotUrl"`
  2677  }
  2678  
  2679  func init() {
  2680  	types.Add("eam:PersonalityAgencyCannotUploadDepot", reflect.TypeOf((*PersonalityAgencyCannotUploadDepot)(nil)).Elem())
  2681  }
  2682  
  2683  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2684  //
  2685  // Base class for all offline depot (VIB) issues while communicating with
  2686  // Personality Manager.
  2687  //
  2688  // This structure may be used only with operations rendered under `/eam`.
  2689  type PersonalityAgencyDepotIssue struct {
  2690  	PersonalityAgencyPMIssue
  2691  
  2692  	// URL the offline bundle is configured in EAM.
  2693  	RemoteDepotUrl string `xml:"remoteDepotUrl" json:"remoteDepotUrl"`
  2694  }
  2695  
  2696  func init() {
  2697  	types.Add("eam:PersonalityAgencyDepotIssue", reflect.TypeOf((*PersonalityAgencyDepotIssue)(nil)).Elem())
  2698  }
  2699  
  2700  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2701  //
  2702  // The offline depot was not available for download during communicating with
  2703  // Personality Manager.
  2704  //
  2705  // This structure may be used only with operations rendered under `/eam`.
  2706  type PersonalityAgencyInaccessibleDepot struct {
  2707  	PersonalityAgencyDepotIssue
  2708  }
  2709  
  2710  func init() {
  2711  	types.Add("eam:PersonalityAgencyInaccessibleDepot", reflect.TypeOf((*PersonalityAgencyInaccessibleDepot)(nil)).Elem())
  2712  }
  2713  
  2714  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2715  //
  2716  // The offline depot has missing or invalid metadata to be usable by
  2717  // Personality Manager.
  2718  //
  2719  // This structure may be used only with operations rendered under `/eam`.
  2720  type PersonalityAgencyInvalidDepot struct {
  2721  	PersonalityAgencyDepotIssue
  2722  }
  2723  
  2724  func init() {
  2725  	types.Add("eam:PersonalityAgencyInvalidDepot", reflect.TypeOf((*PersonalityAgencyInvalidDepot)(nil)).Elem())
  2726  }
  2727  
  2728  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2729  //
  2730  // Base class for all issues which occurred during EAM communication with
  2731  // Personality Manager.
  2732  //
  2733  // This structure may be used only with operations rendered under `/eam`.
  2734  type PersonalityAgencyPMIssue struct {
  2735  	AgencyIssue
  2736  }
  2737  
  2738  func init() {
  2739  	types.Add("eam:PersonalityAgencyPMIssue", reflect.TypeOf((*PersonalityAgencyPMIssue)(nil)).Elem())
  2740  }
  2741  
  2742  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2743  //
  2744  // PM service is not available - its endpoint cannot be accessed or it is
  2745  // malfunctioning.
  2746  //
  2747  // This is an active and passive remediable issue. To remediate, vSphere ESX
  2748  // Agent Manager retries to access PM service.
  2749  //
  2750  // This structure may be used only with operations rendered under `/eam`.
  2751  type PersonalityAgencyPMUnavailable struct {
  2752  	PersonalityAgencyPMIssue
  2753  }
  2754  
  2755  func init() {
  2756  	types.Add("eam:PersonalityAgencyPMUnavailable", reflect.TypeOf((*PersonalityAgencyPMUnavailable)(nil)).Elem())
  2757  }
  2758  
  2759  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2760  //
  2761  // The agent workflow is blocked until its' required solutions are re-mediated
  2762  // externally in Personality Manager.
  2763  //
  2764  // This issue is only passively remediable. The desired state has to be applied
  2765  // in PM by an user.
  2766  //
  2767  // This structure may be used only with operations rendered under `/eam`.
  2768  type PersonalityAgentAwaitingPMRemediation struct {
  2769  	PersonalityAgentPMIssue
  2770  }
  2771  
  2772  func init() {
  2773  	types.Add("eam:PersonalityAgentAwaitingPMRemediation", reflect.TypeOf((*PersonalityAgentAwaitingPMRemediation)(nil)).Elem())
  2774  }
  2775  
  2776  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2777  //
  2778  // The agent workflow is blocked by a failed agency operation with
  2779  // Personality Manager.
  2780  //
  2781  // This issue is only passively remediable. The agency's PM related issue has to
  2782  // be resolved.
  2783  //
  2784  // This structure may be used only with operations rendered under `/eam`.
  2785  type PersonalityAgentBlockedByAgencyOperation struct {
  2786  	PersonalityAgentPMIssue
  2787  }
  2788  
  2789  func init() {
  2790  	types.Add("eam:PersonalityAgentBlockedByAgencyOperation", reflect.TypeOf((*PersonalityAgentBlockedByAgencyOperation)(nil)).Elem())
  2791  }
  2792  
  2793  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  2794  //
  2795  // Base class for all issues which occurred during EAM communication with
  2796  // Personality Manager.
  2797  //
  2798  // This structure may be used only with operations rendered under `/eam`.
  2799  type PersonalityAgentPMIssue struct {
  2800  	AgentIssue
  2801  }
  2802  
  2803  func init() {
  2804  	types.Add("eam:PersonalityAgentPMIssue", reflect.TypeOf((*PersonalityAgentPMIssue)(nil)).Elem())
  2805  }
  2806  
  2807  type QueryAgency QueryAgencyRequestType
  2808  
  2809  func init() {
  2810  	types.Add("eam:QueryAgency", reflect.TypeOf((*QueryAgency)(nil)).Elem())
  2811  }
  2812  
  2813  type QueryAgencyRequestType struct {
  2814  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  2815  }
  2816  
  2817  func init() {
  2818  	types.Add("eam:QueryAgencyRequestType", reflect.TypeOf((*QueryAgencyRequestType)(nil)).Elem())
  2819  }
  2820  
  2821  type QueryAgencyResponse struct {
  2822  	Returnval []types.ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
  2823  }
  2824  
  2825  type QueryAgent QueryAgentRequestType
  2826  
  2827  func init() {
  2828  	types.Add("eam:QueryAgent", reflect.TypeOf((*QueryAgent)(nil)).Elem())
  2829  }
  2830  
  2831  type QueryAgentRequestType struct {
  2832  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  2833  }
  2834  
  2835  func init() {
  2836  	types.Add("eam:QueryAgentRequestType", reflect.TypeOf((*QueryAgentRequestType)(nil)).Elem())
  2837  }
  2838  
  2839  type QueryAgentResponse struct {
  2840  	Returnval []types.ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
  2841  }
  2842  
  2843  type QueryConfig QueryConfigRequestType
  2844  
  2845  func init() {
  2846  	types.Add("eam:QueryConfig", reflect.TypeOf((*QueryConfig)(nil)).Elem())
  2847  }
  2848  
  2849  type QueryConfigRequestType struct {
  2850  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  2851  }
  2852  
  2853  func init() {
  2854  	types.Add("eam:QueryConfigRequestType", reflect.TypeOf((*QueryConfigRequestType)(nil)).Elem())
  2855  }
  2856  
  2857  type QueryConfigResponse struct {
  2858  	Returnval BaseAgencyConfigInfo `xml:"returnval,typeattr" json:"returnval"`
  2859  }
  2860  
  2861  type QueryIssue QueryIssueRequestType
  2862  
  2863  func init() {
  2864  	types.Add("eam:QueryIssue", reflect.TypeOf((*QueryIssue)(nil)).Elem())
  2865  }
  2866  
  2867  // The parameters of `EamObject.QueryIssue`.
  2868  //
  2869  // This structure may be used only with operations rendered under `/eam`.
  2870  type QueryIssueRequestType struct {
  2871  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  2872  	// An optional array of issue keys. If not set, all issues for this
  2873  	// entity are returned.
  2874  	IssueKey []int32 `xml:"issueKey,omitempty" json:"issueKey,omitempty"`
  2875  }
  2876  
  2877  func init() {
  2878  	types.Add("eam:QueryIssueRequestType", reflect.TypeOf((*QueryIssueRequestType)(nil)).Elem())
  2879  }
  2880  
  2881  type QueryIssueResponse struct {
  2882  	Returnval []BaseIssue `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
  2883  }
  2884  
  2885  type QuerySolutionId QuerySolutionIdRequestType
  2886  
  2887  func init() {
  2888  	types.Add("eam:QuerySolutionId", reflect.TypeOf((*QuerySolutionId)(nil)).Elem())
  2889  }
  2890  
  2891  type QuerySolutionIdRequestType struct {
  2892  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  2893  }
  2894  
  2895  func init() {
  2896  	types.Add("eam:QuerySolutionIdRequestType", reflect.TypeOf((*QuerySolutionIdRequestType)(nil)).Elem())
  2897  }
  2898  
  2899  type QuerySolutionIdResponse struct {
  2900  	Returnval string `xml:"returnval" json:"returnval"`
  2901  }
  2902  
  2903  type RegisterAgentVm RegisterAgentVmRequestType
  2904  
  2905  func init() {
  2906  	types.Add("eam:RegisterAgentVm", reflect.TypeOf((*RegisterAgentVm)(nil)).Elem())
  2907  }
  2908  
  2909  // The parameters of `Agency.RegisterAgentVm`.
  2910  //
  2911  // This structure may be used only with operations rendered under `/eam`.
  2912  type RegisterAgentVmRequestType struct {
  2913  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  2914  	// The managed object reference to the agent VM.
  2915  	//
  2916  	// Refers instance of `VirtualMachine`.
  2917  	AgentVm types.ManagedObjectReference `xml:"agentVm" json:"agentVm"`
  2918  }
  2919  
  2920  func init() {
  2921  	types.Add("eam:RegisterAgentVmRequestType", reflect.TypeOf((*RegisterAgentVmRequestType)(nil)).Elem())
  2922  }
  2923  
  2924  type RegisterAgentVmResponse struct {
  2925  	Returnval types.ManagedObjectReference `xml:"returnval" json:"returnval"`
  2926  }
  2927  
  2928  type Resolve ResolveRequestType
  2929  
  2930  func init() {
  2931  	types.Add("eam:Resolve", reflect.TypeOf((*Resolve)(nil)).Elem())
  2932  }
  2933  
  2934  type ResolveAll ResolveAllRequestType
  2935  
  2936  func init() {
  2937  	types.Add("eam:ResolveAll", reflect.TypeOf((*ResolveAll)(nil)).Elem())
  2938  }
  2939  
  2940  type ResolveAllRequestType struct {
  2941  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  2942  }
  2943  
  2944  func init() {
  2945  	types.Add("eam:ResolveAllRequestType", reflect.TypeOf((*ResolveAllRequestType)(nil)).Elem())
  2946  }
  2947  
  2948  type ResolveAllResponse struct {
  2949  }
  2950  
  2951  // The parameters of `EamObject.Resolve`.
  2952  //
  2953  // This structure may be used only with operations rendered under `/eam`.
  2954  type ResolveRequestType struct {
  2955  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  2956  	// A non-empty array of issue keys.
  2957  	IssueKey []int32 `xml:"issueKey" json:"issueKey"`
  2958  }
  2959  
  2960  func init() {
  2961  	types.Add("eam:ResolveRequestType", reflect.TypeOf((*ResolveRequestType)(nil)).Elem())
  2962  }
  2963  
  2964  type ResolveResponse struct {
  2965  	Returnval []int32 `xml:"returnval,omitempty" json:"returnval,omitempty"`
  2966  }
  2967  
  2968  type ScanForUnknownAgentVm ScanForUnknownAgentVmRequestType
  2969  
  2970  func init() {
  2971  	types.Add("eam:ScanForUnknownAgentVm", reflect.TypeOf((*ScanForUnknownAgentVm)(nil)).Elem())
  2972  }
  2973  
  2974  type ScanForUnknownAgentVmRequestType struct {
  2975  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  2976  }
  2977  
  2978  func init() {
  2979  	types.Add("eam:ScanForUnknownAgentVmRequestType", reflect.TypeOf((*ScanForUnknownAgentVmRequestType)(nil)).Elem())
  2980  }
  2981  
  2982  type ScanForUnknownAgentVmResponse struct {
  2983  }
  2984  
  2985  type SetMaintenanceModePolicy SetMaintenanceModePolicyRequestType
  2986  
  2987  func init() {
  2988  	types.Add("eam:SetMaintenanceModePolicy", reflect.TypeOf((*SetMaintenanceModePolicy)(nil)).Elem())
  2989  }
  2990  
  2991  // The parameters of `EsxAgentManager.SetMaintenanceModePolicy`.
  2992  //
  2993  // This structure may be used only with operations rendered under `/eam`.
  2994  type SetMaintenanceModePolicyRequestType struct {
  2995  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  2996  	// The policy to use.
  2997  	Policy string `xml:"policy" json:"policy"`
  2998  }
  2999  
  3000  func init() {
  3001  	types.Add("eam:SetMaintenanceModePolicyRequestType", reflect.TypeOf((*SetMaintenanceModePolicyRequestType)(nil)).Elem())
  3002  	types.AddMinAPIVersionForType("eam:SetMaintenanceModePolicyRequestType", "7.4")
  3003  }
  3004  
  3005  type SetMaintenanceModePolicyResponse struct {
  3006  }
  3007  
  3008  // Specification describing a desired state to be applied.
  3009  //
  3010  // This structure may be used only with operations rendered under `/eam`.
  3011  type SolutionsApplySpec struct {
  3012  	types.DynamicData
  3013  
  3014  	// Complete desired state to be applied on the target entity.
  3015  	//
  3016  	// the `*solutions*` member limits which parts of this desired state to
  3017  	// be applied
  3018  	//
  3019  	//	  If the `*solutions*` member is omitted.
  3020  	//	- Any solution described in this structure will be applied on the
  3021  	//	  target entity
  3022  	//	- Any solution already existing on the target entity, but missing
  3023  	//	  from this structure, will be deleted from the target entity
  3024  	DesiredState []SolutionsSolutionConfig `xml:"desiredState,omitempty" json:"desiredState,omitempty"`
  3025  	// If provided, limits the parts of the `*desiredState*` structure to
  3026  	// be applied on the target entity.
  3027  	//   - solutions that are also present in the `*desiredState*`
  3028  	//     structure will be applied on the target entity.
  3029  	//   - solutions that are missing from the `*desiredState*` structure
  3030  	//     will be deleted from the target entity.
  3031  	Solutions []string `xml:"solutions,omitempty" json:"solutions,omitempty"`
  3032  	// Specifies exact hosts to apply the desired state to, instead of every
  3033  	// host in the cluster.
  3034  	//
  3035  	// Applicable only to solutions with
  3036  	// `SolutionsHostBoundSolutionConfig`.
  3037  	//
  3038  	// Refers instances of `HostSystem`.
  3039  	Hosts []types.ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
  3040  	// Deployment units on which solutions that are specified by the this
  3041  	// structure need to be applied.
  3042  	//
  3043  	// Applicable only to solutions with
  3044  	// `SolutionsClusterBoundSolutionConfig`.
  3045  	//
  3046  	// The deployment unit represents a single VM instance deployment. It is
  3047  	// returned by the `Solutions.Compliance` operation.
  3048  	//
  3049  	// If omitted - the configured solutions by `SolutionsApplySpec.solutions` are applied
  3050  	// on all of the deployment units in the cluster.
  3051  	DeploymentUnits []string `xml:"deploymentUnits,omitempty" json:"deploymentUnits,omitempty"`
  3052  }
  3053  
  3054  func init() {
  3055  	types.Add("eam:SolutionsApplySpec", reflect.TypeOf((*SolutionsApplySpec)(nil)).Elem())
  3056  }
  3057  
  3058  // Specifies cluster-bound solution configuration.
  3059  //
  3060  // This structure may be used only with operations rendered under `/eam`.
  3061  type SolutionsClusterBoundSolutionConfig struct {
  3062  	SolutionsTypeSpecificSolutionConfig
  3063  
  3064  	// The number of instances of the specified VM to be deployed across the
  3065  	// cluster.
  3066  	VmCount int32 `xml:"vmCount" json:"vmCount"`
  3067  	// VM placement policies to be configured on the VMs
  3068  	// `SolutionsVmPlacementPolicy_enum` If omitted - no VM placement
  3069  	// policies are configured.
  3070  	VmPlacementPolicies []string `xml:"vmPlacementPolicies,omitempty" json:"vmPlacementPolicies,omitempty"`
  3071  	// Networks defined in the OVF to be configured on the VMs.
  3072  	//
  3073  	// Mutually
  3074  	// exclusive with `SolutionsClusterBoundSolutionConfig.devices`. If omitted - no VM networks are
  3075  	// configured.
  3076  	VmNetworks []SolutionsVMNetworkMapping `xml:"vmNetworks,omitempty" json:"vmNetworks,omitempty"`
  3077  	// Datastores to be configured as a storage of the VMs.
  3078  	//
  3079  	// The first
  3080  	// available datastore in the cluster is used. The collection cannot
  3081  	// contain duplicate elements.
  3082  	// If omitted - the system automatically selects the datastore. The
  3083  	// selection takes into account the other properties of the desired state
  3084  	// specification (the provided VM storage policies and VM devices) and the
  3085  	// runtime state of the datastores in the cluster. It is required DRS to
  3086  	// be enabled on the cluster.
  3087  	//
  3088  	// Refers instances of `Datastore`.
  3089  	Datastores []types.ManagedObjectReference `xml:"datastores,omitempty" json:"datastores,omitempty"`
  3090  	// Devices of the VMs not defined in the OVF descriptor.
  3091  	//
  3092  	// Mutually
  3093  	// exclusive with `SolutionsClusterBoundSolutionConfig.vmNetworks`.
  3094  	//
  3095  	// If `SolutionsClusterBoundSolutionConfig.datastores` is not set, the devices of the VMs not defined
  3096  	// in the OVF descriptor should be provided to `SolutionsClusterBoundSolutionConfig.devices` and not as
  3097  	// part of a VM lifecycle hook (VM reconfiguration). Otherwise, the
  3098  	// compatibility of the devices with the selected host and datastore where
  3099  	// the VM is deployed needs to be ensured by the client.
  3100  	//
  3101  	// 1\. For VM initial placement the devices are added to the VM
  3102  	// configuration. 2. For VM reconfiguration it is checked if a relocation
  3103  	// is needed based on the provided `SolutionsClusterBoundSolutionConfig.devices` and the rest of the
  3104  	// desired specification change. If relocation is not needed then only VM
  3105  	// reconfiguration is executed. Otherwise (e.g. a network device not
  3106  	// present on the host where the VM is located) the VM is first relocated
  3107  	// and then VM reconfiguration is executed. For the reconfiguration it is
  3108  	// checked what devices need to be added, removed, and edited on the
  3109  	// existing VMs.
  3110  	//
  3111  	// The supported property of vim.vm.ConfigSpec is
  3112  	// vim.vm.ConfigSpec.deviceChange. The property
  3113  	// vim.vm.device.VirtualDeviceSpec.operation is ignored. Device keys/Ids
  3114  	// needs to be negative integers.
  3115  	//
  3116  	// NOTE: Devices are added only during VM initial placement. VM
  3117  	// reconfiguration with the provided devices is currently not supported.
  3118  	// If omitted - no additional devices will be added to the VMs.
  3119  	Devices *types.VirtualMachineConfigSpec `xml:"devices,omitempty" json:"devices,omitempty"`
  3120  }
  3121  
  3122  func init() {
  3123  	types.Add("eam:SolutionsClusterBoundSolutionConfig", reflect.TypeOf((*SolutionsClusterBoundSolutionConfig)(nil)).Elem())
  3124  }
  3125  
  3126  // Result of a compliance check of a desired state for a solution with
  3127  // `SolutionsClusterBoundSolutionConfig`.
  3128  //
  3129  // This structure may be used only with operations rendered under `/eam`.
  3130  type SolutionsClusterSolutionComplianceResult struct {
  3131  	types.DynamicData
  3132  
  3133  	// The solution being checked for compliance.
  3134  	Solution string `xml:"solution" json:"solution"`
  3135  	// `True` if the solution is compliant with the described desired
  3136  	// state, `False` - otherwise.
  3137  	Compliant bool `xml:"compliant" json:"compliant"`
  3138  	// Detailed per deployment-unit compliance result.
  3139  	DeploymentUnits []SolutionsDeploymentUnitComplianceResult `xml:"deploymentUnits,omitempty" json:"deploymentUnits,omitempty"`
  3140  }
  3141  
  3142  func init() {
  3143  	types.Add("eam:SolutionsClusterSolutionComplianceResult", reflect.TypeOf((*SolutionsClusterSolutionComplianceResult)(nil)).Elem())
  3144  }
  3145  
  3146  // Result of a compliance check of a desired state on a compute resource.
  3147  //
  3148  // This structure may be used only with operations rendered under `/eam`.
  3149  type SolutionsComplianceResult struct {
  3150  	types.DynamicData
  3151  
  3152  	// `True` if the compute resource is compliant with the described
  3153  	// desired state, `False` - otherwise.
  3154  	Compliant bool `xml:"compliant" json:"compliant"`
  3155  	// Detailed per-host compliance result of the compute resource for
  3156  	// solutions with `SolutionsHostBoundSolutionConfig`.
  3157  	Hosts []SolutionsHostComplianceResult `xml:"hosts,omitempty" json:"hosts,omitempty"`
  3158  	// Detailed per-solution unit compliance result of the compute resource
  3159  	// for solutions with `SolutionsClusterBoundSolutionConfig`.
  3160  	ClusterSolutionsCompliance []SolutionsClusterSolutionComplianceResult `xml:"clusterSolutionsCompliance,omitempty" json:"clusterSolutionsCompliance,omitempty"`
  3161  }
  3162  
  3163  func init() {
  3164  	types.Add("eam:SolutionsComplianceResult", reflect.TypeOf((*SolutionsComplianceResult)(nil)).Elem())
  3165  }
  3166  
  3167  // Specification describing how to calculate compliance of a compute resource
  3168  // against a desired state.
  3169  //
  3170  // This structure may be used only with operations rendered under `/eam`.
  3171  type SolutionsComplianceSpec struct {
  3172  	types.DynamicData
  3173  
  3174  	// Desired state to be checked for compliance.
  3175  	//
  3176  	// May be incomplete if exact
  3177  	// solutions to be checked are provided. Empty desired state means all
  3178  	// present solutions must be removed.
  3179  	DesiredState []SolutionsSolutionConfig `xml:"desiredState,omitempty" json:"desiredState,omitempty"`
  3180  	// Specifies exact solutions to be checked for compliance instead of the
  3181  	// complete desired state.
  3182  	Solutions []string `xml:"solutions,omitempty" json:"solutions,omitempty"`
  3183  	// Specifies exact hosts to be checked for compliance of all solutions
  3184  	// with `SolutionsHostBoundSolutionConfig`.
  3185  	//
  3186  	// If omitted - the compliance is checked for all hosts in the cluster.
  3187  	//
  3188  	// Refers instances of `HostSystem`.
  3189  	Hosts []types.ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
  3190  	// Identifiers of the deployment units that to be checked for compliance
  3191  	// of all solutions with `SolutionsClusterBoundSolutionConfig`.
  3192  	//
  3193  	// The deployment unit represents a single VM instance deployment.
  3194  	//
  3195  	// If omitted - the compliance is checked for all deployment units in the
  3196  	// cluster.
  3197  	DeploymentUnits []string `xml:"deploymentUnits,omitempty" json:"deploymentUnits,omitempty"`
  3198  }
  3199  
  3200  func init() {
  3201  	types.Add("eam:SolutionsComplianceSpec", reflect.TypeOf((*SolutionsComplianceSpec)(nil)).Elem())
  3202  }
  3203  
  3204  // Result of a compliance check of a deployment unit.
  3205  //
  3206  // This structure may be used only with operations rendered under `/eam`.
  3207  type SolutionsDeploymentUnitComplianceResult struct {
  3208  	types.DynamicData
  3209  
  3210  	// The deployment unit being checked for compliance.
  3211  	DeploymentUnit string `xml:"deploymentUnit" json:"deploymentUnit"`
  3212  	// `True` if the deployment unit is compliant with the described
  3213  	// desired state, `False` - otherwise.
  3214  	Compliant bool `xml:"compliant" json:"compliant"`
  3215  	// Detailed compliance result of the deployment unit.
  3216  	Compliance *SolutionsSolutionComplianceResult `xml:"compliance,omitempty" json:"compliance,omitempty"`
  3217  }
  3218  
  3219  func init() {
  3220  	types.Add("eam:SolutionsDeploymentUnitComplianceResult", reflect.TypeOf((*SolutionsDeploymentUnitComplianceResult)(nil)).Elem())
  3221  }
  3222  
  3223  // Specifies the acknowledgement type of a configured System Virtual
  3224  // Machine's lifecycle hook.
  3225  //
  3226  // This structure may be used only with operations rendered under `/eam`.
  3227  type SolutionsHookAcknowledgeConfig struct {
  3228  	types.DynamicData
  3229  }
  3230  
  3231  func init() {
  3232  	types.Add("eam:SolutionsHookAcknowledgeConfig", reflect.TypeOf((*SolutionsHookAcknowledgeConfig)(nil)).Elem())
  3233  }
  3234  
  3235  // Configuration for System Virtual Machine's lifecycle hooks.
  3236  //
  3237  // This structure may be used only with operations rendered under `/eam`.
  3238  type SolutionsHookConfig struct {
  3239  	types.DynamicData
  3240  
  3241  	// Type of the configured hook, possible values - `HooksHookType_enum`.
  3242  	Type string `xml:"type" json:"type"`
  3243  	// Type of acknoledgement of the configured hook.
  3244  	Acknowledgement BaseSolutionsHookAcknowledgeConfig `xml:"acknowledgement,typeattr" json:"acknowledgement"`
  3245  	// The maximum time in seconds to wait for a hook to be processed.
  3246  	//
  3247  	// An
  3248  	// issue is raised if the time elapsed and the hook is still not
  3249  	// processed.
  3250  	// If omitted - defaults to 10 hours.
  3251  	Timeout int64 `xml:"timeout,omitempty" json:"timeout,omitempty"`
  3252  }
  3253  
  3254  func init() {
  3255  	types.Add("eam:SolutionsHookConfig", reflect.TypeOf((*SolutionsHookConfig)(nil)).Elem())
  3256  }
  3257  
  3258  // Contains information for a raised hook.
  3259  //
  3260  // This structure may be used only with operations rendered under `/eam`.
  3261  type SolutionsHookInfo struct {
  3262  	types.DynamicData
  3263  
  3264  	// Virtual Machine, the hook was raised for.
  3265  	//
  3266  	// Refers instance of `VirtualMachine`.
  3267  	Vm types.ManagedObjectReference `xml:"vm" json:"vm"`
  3268  	// Solution the Virtual Machine belongs to.
  3269  	Solution string `xml:"solution" json:"solution"`
  3270  	// Configuration of the hook.
  3271  	Config SolutionsHookConfig `xml:"config" json:"config"`
  3272  	// Time the hook was raised.
  3273  	RaisedAt time.Time `xml:"raisedAt" json:"raisedAt"`
  3274  }
  3275  
  3276  func init() {
  3277  	types.Add("eam:SolutionsHookInfo", reflect.TypeOf((*SolutionsHookInfo)(nil)).Elem())
  3278  }
  3279  
  3280  // Specifies host-bound solution configuration.
  3281  //
  3282  // This structure may be used only with operations rendered under `/eam`.
  3283  type SolutionsHostBoundSolutionConfig struct {
  3284  	SolutionsTypeSpecificSolutionConfig
  3285  
  3286  	// If set to true - default network and datastore configured on host will
  3287  	// take precedence over
  3288  	// `SolutionsHostBoundSolutionConfig.datastores` and
  3289  	// `SolutionsHostBoundSolutionConfig.networks`.
  3290  	PreferHostConfiguration *bool `xml:"preferHostConfiguration" json:"preferHostConfiguration,omitempty"`
  3291  	// networks to satisfy system Virtual Machine network adapter
  3292  	// requirements.
  3293  	//
  3294  	// If omitted - default configured network on the host will
  3295  	// be used.
  3296  	//
  3297  	// Refers instances of `Network`.
  3298  	Networks []types.ManagedObjectReference `xml:"networks,omitempty" json:"networks,omitempty"`
  3299  	// Datastores to be configured as a storage of the VMs.
  3300  	//
  3301  	// The first
  3302  	// available datastore on the host is used. The collection cannot contain
  3303  	// duplicate elements. If omitted - default configured datastore on the
  3304  	// host will be used.
  3305  	//
  3306  	// Refers instances of `Datastore`.
  3307  	Datastores []types.ManagedObjectReference `xml:"datastores,omitempty" json:"datastores,omitempty"`
  3308  	// VMCI to be allowed access from the system Virtual Machine.
  3309  	Vmci []string `xml:"vmci,omitempty" json:"vmci,omitempty"`
  3310  }
  3311  
  3312  func init() {
  3313  	types.Add("eam:SolutionsHostBoundSolutionConfig", reflect.TypeOf((*SolutionsHostBoundSolutionConfig)(nil)).Elem())
  3314  }
  3315  
  3316  // Result of a compliance check of a desired state on a host.
  3317  //
  3318  // This structure may be used only with operations rendered under `/eam`.
  3319  type SolutionsHostComplianceResult struct {
  3320  	types.DynamicData
  3321  
  3322  	// The host being checked for compliance.
  3323  	//
  3324  	// Refers instance of `HostSystem`.
  3325  	Host types.ManagedObjectReference `xml:"host" json:"host"`
  3326  	// `True` if the compute host is compliant with the described
  3327  	// desired state, `False` - otherwise.
  3328  	Compliant bool `xml:"compliant" json:"compliant"`
  3329  	// Detailed per-solution compliance result of the host.
  3330  	Solutions []SolutionsSolutionComplianceResult `xml:"solutions,omitempty" json:"solutions,omitempty"`
  3331  }
  3332  
  3333  func init() {
  3334  	types.Add("eam:SolutionsHostComplianceResult", reflect.TypeOf((*SolutionsHostComplianceResult)(nil)).Elem())
  3335  }
  3336  
  3337  // The user will have to (manually) invoke an API
  3338  // (`Hooks.MarkAsProcessed`) to acknowledge, the user operations for
  3339  // this lifecycle hook have been completed.
  3340  //
  3341  // This structure may be used only with operations rendered under `/eam`.
  3342  type SolutionsInteractiveHookAcknowledgeConfig struct {
  3343  	SolutionsHookAcknowledgeConfig
  3344  }
  3345  
  3346  func init() {
  3347  	types.Add("eam:SolutionsInteractiveHookAcknowledgeConfig", reflect.TypeOf((*SolutionsInteractiveHookAcknowledgeConfig)(nil)).Elem())
  3348  }
  3349  
  3350  // One OVF Property.
  3351  //
  3352  // This structure may be used only with operations rendered under `/eam`.
  3353  type SolutionsOvfProperty struct {
  3354  	types.DynamicData
  3355  
  3356  	// The name of the property in the OVF descriptor.
  3357  	Key string `xml:"key" json:"key"`
  3358  	// The value of the property.
  3359  	Value string `xml:"value" json:"value"`
  3360  }
  3361  
  3362  func init() {
  3363  	types.Add("eam:SolutionsOvfProperty", reflect.TypeOf((*SolutionsOvfProperty)(nil)).Elem())
  3364  }
  3365  
  3366  // Specifies a user defined profile ID to be applied during Virtual Machine
  3367  // creation.
  3368  //
  3369  // This structure may be used only with operations rendered under `/eam`.
  3370  type SolutionsProfileIdStoragePolicy struct {
  3371  	SolutionsStoragePolicy
  3372  
  3373  	// ID of a storage policy profile created by the user.
  3374  	//
  3375  	// The type of the
  3376  	// profile must be `VirtualMachineDefinedProfileSpec`. The ID must be valid
  3377  	// `VirtualMachineDefinedProfileSpec.profileId`.
  3378  	ProfileId string `xml:"profileId" json:"profileId"`
  3379  }
  3380  
  3381  func init() {
  3382  	types.Add("eam:SolutionsProfileIdStoragePolicy", reflect.TypeOf((*SolutionsProfileIdStoragePolicy)(nil)).Elem())
  3383  }
  3384  
  3385  // Result of a compliance check of a desired state dor a solution(on a host).
  3386  //
  3387  // This structure may be used only with operations rendered under `/eam`.
  3388  type SolutionsSolutionComplianceResult struct {
  3389  	types.DynamicData
  3390  
  3391  	// Solution checked for compliance.
  3392  	Solution string `xml:"solution" json:"solution"`
  3393  	// `True` if the compute solution is compliant with the described
  3394  	// desired state, `False` - otherwise.
  3395  	Compliant bool `xml:"compliant" json:"compliant"`
  3396  	// Reason the solution is non-compliant
  3397  	// `SolutionsNonComplianceReason_enum`.
  3398  	NonComplianceReason string `xml:"nonComplianceReason,omitempty" json:"nonComplianceReason,omitempty"`
  3399  	// system Virtual Machine created for the solution.
  3400  	//
  3401  	// Refers instance of `VirtualMachine`.
  3402  	Vm *types.ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
  3403  	// system Virtual Machine created for upgrading the obsoleted system
  3404  	// Virtual Machine.
  3405  	//
  3406  	// Refers instance of `VirtualMachine`.
  3407  	UpgradingVm *types.ManagedObjectReference `xml:"upgradingVm,omitempty" json:"upgradingVm,omitempty"`
  3408  	// Hook, ESX Agent Manager is awaiting to be processed for this solution.
  3409  	Hook *SolutionsHookInfo `xml:"hook,omitempty" json:"hook,omitempty"`
  3410  	// Issues, ESX Agent Manager has encountered while attempting to acheive
  3411  	// the solution's requested desired state.
  3412  	Issues []BaseIssue `xml:"issues,omitempty,typeattr" json:"issues,omitempty"`
  3413  	// Last desired state for the solution, requested from ESX Agent Manager,
  3414  	// for application.
  3415  	SolutionConfig *SolutionsSolutionConfig `xml:"solutionConfig,omitempty" json:"solutionConfig,omitempty"`
  3416  }
  3417  
  3418  func init() {
  3419  	types.Add("eam:SolutionsSolutionComplianceResult", reflect.TypeOf((*SolutionsSolutionComplianceResult)(nil)).Elem())
  3420  }
  3421  
  3422  // Configuration for a solution's required system Virtual Machine.
  3423  //
  3424  // This structure may be used only with operations rendered under `/eam`.
  3425  type SolutionsSolutionConfig struct {
  3426  	types.DynamicData
  3427  
  3428  	// Solution, this configuration belongs to.
  3429  	Solution string `xml:"solution" json:"solution"`
  3430  	// Display name of the solution.
  3431  	DisplayName string `xml:"displayName" json:"displayName"`
  3432  	// Display version of the solution.
  3433  	DisplayVersion string `xml:"displayVersion" json:"displayVersion"`
  3434  	// Source of the system Virtual Machine files.
  3435  	VmSource BaseSolutionsVMSource `xml:"vmSource,typeattr" json:"vmSource"`
  3436  	// VM name prefix.
  3437  	PrefixVmName string `xml:"prefixVmName" json:"prefixVmName"`
  3438  	// If set to `True` - will insert an UUID in the system Virtual
  3439  	// Machines' names created for the solution, otherwise - no additional
  3440  	// UUID will be inserted in the system Virtual Machines' names.
  3441  	UuidVmName bool `xml:"uuidVmName" json:"uuidVmName"`
  3442  	// Resource pool to place the system Virtual Machine in.
  3443  	//
  3444  	// If omitted a
  3445  	// default resource pool will be used.
  3446  	//
  3447  	// Refers instance of `ResourcePool`.
  3448  	ResourcePool *types.ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
  3449  	// Folder to place the system Virtual Machine in.
  3450  	//
  3451  	// If omitted a default
  3452  	// folder will be used.
  3453  	//
  3454  	// Refers instance of `Folder`.
  3455  	Folder *types.ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty"`
  3456  	// User configurable OVF properties to be assigned during system Virtual
  3457  	// Machine creation.
  3458  	OvfProperties []SolutionsOvfProperty `xml:"ovfProperties,omitempty" json:"ovfProperties,omitempty"`
  3459  	// Storage policies to be applied during system Virtual Machine creation.
  3460  	StoragePolicies []BaseSolutionsStoragePolicy `xml:"storagePolicies,omitempty,typeattr" json:"storagePolicies,omitempty"`
  3461  	// Provisioning type for the system Virtual Machines
  3462  	// `SolutionsVMDiskProvisioning_enum`.
  3463  	//
  3464  	// Default provisioning will be used
  3465  	// if not specified.
  3466  	VmDiskProvisioning string `xml:"vmDiskProvisioning,omitempty" json:"vmDiskProvisioning,omitempty"`
  3467  	// Optimization strategy for deploying Virtual Machines
  3468  	// `SolutionsVMDeploymentOptimization_enum`.
  3469  	//
  3470  	// Default optimization will
  3471  	// be selected if not specified.
  3472  	VmDeploymentOptimization string `xml:"vmDeploymentOptimization,omitempty" json:"vmDeploymentOptimization,omitempty"`
  3473  	// Solution type-specific configuration.
  3474  	TypeSpecificConfig BaseSolutionsTypeSpecificSolutionConfig `xml:"typeSpecificConfig,typeattr" json:"typeSpecificConfig"`
  3475  	// Lifecycle hooks for the solution's virtual machines.
  3476  	Hooks []SolutionsHookConfig `xml:"hooks,omitempty" json:"hooks,omitempty"`
  3477  	// VMs resource configuration.
  3478  	//
  3479  	// If omitted - the default resource
  3480  	// configuration specified in the OVF descriptor is used.
  3481  	VmResourceSpec *SolutionsVmResourceSpec `xml:"vmResourceSpec,omitempty" json:"vmResourceSpec,omitempty"`
  3482  }
  3483  
  3484  func init() {
  3485  	types.Add("eam:SolutionsSolutionConfig", reflect.TypeOf((*SolutionsSolutionConfig)(nil)).Elem())
  3486  }
  3487  
  3488  // Result of validation, of a solution, for application.
  3489  //
  3490  // This structure may be used only with operations rendered under `/eam`.
  3491  type SolutionsSolutionValidationResult struct {
  3492  	types.DynamicData
  3493  
  3494  	// Validated solution.
  3495  	Solution string `xml:"solution" json:"solution"`
  3496  	// `True` - if the solution is valid for application, `False`
  3497  	// \- otherwise.
  3498  	Valid bool `xml:"valid" json:"valid"`
  3499  	// Populated with the reason the solution is not valid for application
  3500  	// `SolutionsInvalidReason_enum`.
  3501  	InvalidReason string `xml:"invalidReason,omitempty" json:"invalidReason,omitempty"`
  3502  }
  3503  
  3504  func init() {
  3505  	types.Add("eam:SolutionsSolutionValidationResult", reflect.TypeOf((*SolutionsSolutionValidationResult)(nil)).Elem())
  3506  }
  3507  
  3508  // Storage policy to be applied during system Virtual Machine creation.
  3509  //
  3510  // This structure may be used only with operations rendered under `/eam`.
  3511  type SolutionsStoragePolicy struct {
  3512  	types.DynamicData
  3513  }
  3514  
  3515  func init() {
  3516  	types.Add("eam:SolutionsStoragePolicy", reflect.TypeOf((*SolutionsStoragePolicy)(nil)).Elem())
  3517  }
  3518  
  3519  // Specification necessary to transition a solution from an existing legacy
  3520  // agency.
  3521  //
  3522  // This structure may be used only with operations rendered under `/eam`.
  3523  type SolutionsTransitionSpec struct {
  3524  	types.DynamicData
  3525  
  3526  	// Solution to transition from an old legacy agency.
  3527  	Solution string `xml:"solution" json:"solution"`
  3528  	// Old legacy agency ID to transition from.
  3529  	AgencyId string `xml:"agencyId" json:"agencyId"`
  3530  }
  3531  
  3532  func init() {
  3533  	types.Add("eam:SolutionsTransitionSpec", reflect.TypeOf((*SolutionsTransitionSpec)(nil)).Elem())
  3534  }
  3535  
  3536  // Specifies the specific solution configuration based on its type.
  3537  //
  3538  // This structure may be used only with operations rendered under `/eam`.
  3539  type SolutionsTypeSpecificSolutionConfig struct {
  3540  	types.DynamicData
  3541  }
  3542  
  3543  func init() {
  3544  	types.Add("eam:SolutionsTypeSpecificSolutionConfig", reflect.TypeOf((*SolutionsTypeSpecificSolutionConfig)(nil)).Elem())
  3545  }
  3546  
  3547  // Specified the system Virtual Machine sources are to be obtained from an
  3548  // URL.
  3549  //
  3550  // This structure may be used only with operations rendered under `/eam`.
  3551  type SolutionsUrlVMSource struct {
  3552  	SolutionsVMSource
  3553  
  3554  	// URL to the solution's system Virtual Machine OVF.
  3555  	OvfUrl string `xml:"ovfUrl" json:"ovfUrl"`
  3556  	// Overrides the OVF URL certificate validation.
  3557  	//
  3558  	// If `True` or
  3559  	// `<unset>` - the certificate will be subject to standard trust
  3560  	// validation, if `False` - any certificate will be considered
  3561  	// trusted.
  3562  	CertificateValidation *bool `xml:"certificateValidation" json:"certificateValidation,omitempty"`
  3563  	// PEM encoded certificate to use to trust the URL.
  3564  	//
  3565  	// If omitted - URL will
  3566  	// be trusted using well known methods.
  3567  	CertificatePEM string `xml:"certificatePEM,omitempty" json:"certificatePEM,omitempty"`
  3568  }
  3569  
  3570  func init() {
  3571  	types.Add("eam:SolutionsUrlVMSource", reflect.TypeOf((*SolutionsUrlVMSource)(nil)).Elem())
  3572  }
  3573  
  3574  // Represents the mapping of the logical network defined in the OVF
  3575  // descriptor to the Virtual Infrastructure (VI) network.
  3576  //
  3577  // This structure may be used only with operations rendered under `/eam`.
  3578  type SolutionsVMNetworkMapping struct {
  3579  	types.DynamicData
  3580  
  3581  	// Logical network name defined in the OVF descriptor.
  3582  	Name string `xml:"name" json:"name"`
  3583  	// VM network identifier.
  3584  	//
  3585  	// Refers instance of `Network`.
  3586  	Id types.ManagedObjectReference `xml:"id" json:"id"`
  3587  }
  3588  
  3589  func init() {
  3590  	types.Add("eam:SolutionsVMNetworkMapping", reflect.TypeOf((*SolutionsVMNetworkMapping)(nil)).Elem())
  3591  }
  3592  
  3593  // Specifies how to find the files of the system Virtual Machine to be
  3594  // created.
  3595  //
  3596  // This structure may be used only with operations rendered under `/eam`.
  3597  type SolutionsVMSource struct {
  3598  	types.DynamicData
  3599  }
  3600  
  3601  func init() {
  3602  	types.Add("eam:SolutionsVMSource", reflect.TypeOf((*SolutionsVMSource)(nil)).Elem())
  3603  }
  3604  
  3605  // Specification describing a desired state to be validated for application.
  3606  //
  3607  // This structure may be used only with operations rendered under `/eam`.
  3608  type SolutionsValidateSpec struct {
  3609  	types.DynamicData
  3610  
  3611  	// Desired state to be validated.
  3612  	DesiredState   []SolutionsSolutionConfig `xml:"desiredState" json:"desiredState"`
  3613  	TransitionSpec *SolutionsTransitionSpec  `xml:"transitionSpec,omitempty" json:"transitionSpec,omitempty"`
  3614  }
  3615  
  3616  func init() {
  3617  	types.Add("eam:SolutionsValidateSpec", reflect.TypeOf((*SolutionsValidateSpec)(nil)).Elem())
  3618  }
  3619  
  3620  // Result of validation, of a desired state, for application.
  3621  //
  3622  // This structure may be used only with operations rendered under `/eam`.
  3623  type SolutionsValidationResult struct {
  3624  	types.DynamicData
  3625  
  3626  	// `True` - if the desired state is valid for application,
  3627  	// `False` - otherwise.
  3628  	Valid bool `xml:"valid" json:"valid"`
  3629  	// Detailed per-solution result of the validation.
  3630  	SolutionResult []SolutionsSolutionValidationResult `xml:"solutionResult,omitempty" json:"solutionResult,omitempty"`
  3631  }
  3632  
  3633  func init() {
  3634  	types.Add("eam:SolutionsValidationResult", reflect.TypeOf((*SolutionsValidationResult)(nil)).Elem())
  3635  }
  3636  
  3637  // Specifies the VM resource configurations.
  3638  //
  3639  // This structure may be used only with operations rendered under `/eam`.
  3640  type SolutionsVmResourceSpec struct {
  3641  	types.DynamicData
  3642  
  3643  	// The VM deployment option that corresponds to the Configuration element
  3644  	// of the DeploymentOptionSection in the OVF descriptor (e.g.
  3645  	//
  3646  	// "small",
  3647  	// "medium", "large").
  3648  	// If omitted - the default deployment option as specified in the OVF
  3649  	// descriptor is used.
  3650  	OvfDeploymentOption string `xml:"ovfDeploymentOption,omitempty" json:"ovfDeploymentOption,omitempty"`
  3651  }
  3652  
  3653  func init() {
  3654  	types.Add("eam:SolutionsVmResourceSpec", reflect.TypeOf((*SolutionsVmResourceSpec)(nil)).Elem())
  3655  }
  3656  
  3657  type TransitionFailed struct {
  3658  	AgentIssue
  3659  }
  3660  
  3661  func init() {
  3662  	types.Add("eam:TransitionFailed", reflect.TypeOf((*TransitionFailed)(nil)).Elem())
  3663  }
  3664  
  3665  type Uninstall UninstallRequestType
  3666  
  3667  func init() {
  3668  	types.Add("eam:Uninstall", reflect.TypeOf((*Uninstall)(nil)).Elem())
  3669  }
  3670  
  3671  type UninstallRequestType struct {
  3672  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  3673  }
  3674  
  3675  func init() {
  3676  	types.Add("eam:UninstallRequestType", reflect.TypeOf((*UninstallRequestType)(nil)).Elem())
  3677  }
  3678  
  3679  type UninstallResponse struct {
  3680  }
  3681  
  3682  // Deprecated presence of unknown VMs is no more acceptable.
  3683  //
  3684  // An agent virtual machine has been found in the vCenter inventory that does
  3685  // not belong to any agency in this vSphere ESX Agent Manager server instance.
  3686  //
  3687  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  3688  // powers off (if powered on) and deletes the agent virtual machine.
  3689  //
  3690  // This structure may be used only with operations rendered under `/eam`.
  3691  type UnknownAgentVm struct {
  3692  	HostIssue
  3693  
  3694  	// The unknown agent virtual machine.
  3695  	//
  3696  	// Refers instance of `VirtualMachine`.
  3697  	Vm types.ManagedObjectReference `xml:"vm" json:"vm"`
  3698  }
  3699  
  3700  func init() {
  3701  	types.Add("eam:UnknownAgentVm", reflect.TypeOf((*UnknownAgentVm)(nil)).Elem())
  3702  }
  3703  
  3704  type UnregisterAgentVm UnregisterAgentVmRequestType
  3705  
  3706  func init() {
  3707  	types.Add("eam:UnregisterAgentVm", reflect.TypeOf((*UnregisterAgentVm)(nil)).Elem())
  3708  }
  3709  
  3710  // The parameters of `Agency.UnregisterAgentVm`.
  3711  //
  3712  // This structure may be used only with operations rendered under `/eam`.
  3713  type UnregisterAgentVmRequestType struct {
  3714  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  3715  	// The managed object reference to the agent VM.
  3716  	//
  3717  	// Refers instance of `VirtualMachine`.
  3718  	AgentVm types.ManagedObjectReference `xml:"agentVm" json:"agentVm"`
  3719  }
  3720  
  3721  func init() {
  3722  	types.Add("eam:UnregisterAgentVmRequestType", reflect.TypeOf((*UnregisterAgentVmRequestType)(nil)).Elem())
  3723  }
  3724  
  3725  type UnregisterAgentVmResponse struct {
  3726  }
  3727  
  3728  type Update UpdateRequestType
  3729  
  3730  func init() {
  3731  	types.Add("eam:Update", reflect.TypeOf((*Update)(nil)).Elem())
  3732  }
  3733  
  3734  // The parameters of `Agency.Update`.
  3735  //
  3736  // This structure may be used only with operations rendered under `/eam`.
  3737  type UpdateRequestType struct {
  3738  	This types.ManagedObjectReference `xml:"_this" json:"_this"`
  3739  	// The new configuration for this <code>Agency</code>
  3740  	Config BaseAgencyConfigInfo `xml:"config,typeattr" json:"config"`
  3741  }
  3742  
  3743  func init() {
  3744  	types.Add("eam:UpdateRequestType", reflect.TypeOf((*UpdateRequestType)(nil)).Elem())
  3745  }
  3746  
  3747  type UpdateResponse struct {
  3748  }
  3749  
  3750  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3751  //
  3752  // A VIB module requires the host to be in maintenance mode, but the vSphere ESX Agent Manager
  3753  // is unable toput the host in maintenance mode.
  3754  //
  3755  // This can happen if there are virtual machines running on the host that cannot
  3756  // be moved and must be stopped before the host can enter maintenance mode.
  3757  //
  3758  // This is an active remediable issue. To remediate, the vSphere ESX Agent Manager will try again
  3759  // to put the host into maintenance mode. However, the vSphere ESX Agent Manager will not power
  3760  // off or move any virtual machines to put the host into maintenance mode. This must be
  3761  // done by the client.
  3762  //
  3763  // This structure may be used only with operations rendered under `/eam`.
  3764  type VibCannotPutHostInMaintenanceMode struct {
  3765  	VibIssue
  3766  }
  3767  
  3768  func init() {
  3769  	types.Add("eam:VibCannotPutHostInMaintenanceMode", reflect.TypeOf((*VibCannotPutHostInMaintenanceMode)(nil)).Elem())
  3770  }
  3771  
  3772  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3773  //
  3774  // ESXi host is in Maintenance Mode.
  3775  //
  3776  // This prevents powering on and
  3777  // re-configuring Agent Virtual Machines. Also if the host's entering in
  3778  // Maintenance Mode was initiated by vSphere Esx Agent Manager, the same is
  3779  // responsible to initiate exit Maintenance Mode.
  3780  //
  3781  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  3782  // puts the host out of Maintenance Mode.
  3783  //
  3784  // This structure may be used only with operations rendered under `/eam`.
  3785  type VibCannotPutHostOutOfMaintenanceMode struct {
  3786  	VibIssue
  3787  }
  3788  
  3789  func init() {
  3790  	types.Add("eam:VibCannotPutHostOutOfMaintenanceMode", reflect.TypeOf((*VibCannotPutHostOutOfMaintenanceMode)(nil)).Elem())
  3791  }
  3792  
  3793  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3794  //
  3795  // A VIB module is expected to be installed on a host, but the dependencies,
  3796  // describred within the module, were not satisfied by the host.
  3797  //
  3798  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  3799  // attempts the VIB installation again.
  3800  //
  3801  // This structure may be used only with operations rendered under `/eam`.
  3802  type VibDependenciesNotMetByHost struct {
  3803  	VibNotInstalled
  3804  }
  3805  
  3806  func init() {
  3807  	types.Add("eam:VibDependenciesNotMetByHost", reflect.TypeOf((*VibDependenciesNotMetByHost)(nil)).Elem())
  3808  }
  3809  
  3810  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3811  //
  3812  // A VIB module is expected to be installed on a host, but it failed to install
  3813  // since the VIB package is in an invalid format.
  3814  //
  3815  // The installation is unlikely to
  3816  // succeed until the solution provding the bundle has been upgraded or patched to
  3817  // provide a valid VIB package.
  3818  //
  3819  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager attempts the VIB installation again.
  3820  //
  3821  // This structure may be used only with operations rendered under `/eam`.
  3822  type VibInvalidFormat struct {
  3823  	VibNotInstalled
  3824  }
  3825  
  3826  func init() {
  3827  	types.Add("eam:VibInvalidFormat", reflect.TypeOf((*VibInvalidFormat)(nil)).Elem())
  3828  }
  3829  
  3830  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3831  //
  3832  // Base class for all issues related to the VIB modules that belong to an agent.
  3833  //
  3834  // This structure may be used only with operations rendered under `/eam`.
  3835  type VibIssue struct {
  3836  	AgentIssue
  3837  }
  3838  
  3839  func init() {
  3840  	types.Add("eam:VibIssue", reflect.TypeOf((*VibIssue)(nil)).Elem())
  3841  }
  3842  
  3843  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3844  //
  3845  // A VIB module is expected to be installed/removed on a host, but it has not
  3846  // been installed/removed.
  3847  //
  3848  // Typically, a more specific issue (a subclass of this
  3849  // issue) indicates the particular reason why the VIB module operation failed.
  3850  //
  3851  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  3852  // attempts the VIB operation again.
  3853  // In case of unreachable host vSphere ESX Agent Manager will remediate the
  3854  // issue automatically when the host becomes reachable.
  3855  //
  3856  // This structure may be used only with operations rendered under `/eam`.
  3857  type VibNotInstalled struct {
  3858  	VibIssue
  3859  }
  3860  
  3861  func init() {
  3862  	types.Add("eam:VibNotInstalled", reflect.TypeOf((*VibNotInstalled)(nil)).Elem())
  3863  }
  3864  
  3865  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3866  //
  3867  // A VIB module is expected to be installed on a host, but the system
  3868  // requirements, describred within the module, were not satisfied by the host.
  3869  //
  3870  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  3871  // attempts the VIB installation again.
  3872  //
  3873  // This structure may be used only with operations rendered under `/eam`.
  3874  type VibRequirementsNotMetByHost struct {
  3875  	VibNotInstalled
  3876  }
  3877  
  3878  func init() {
  3879  	types.Add("eam:VibRequirementsNotMetByHost", reflect.TypeOf((*VibRequirementsNotMetByHost)(nil)).Elem())
  3880  }
  3881  
  3882  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3883  //
  3884  // A VIB module has been uploaded to the host, but will not be fully installed
  3885  // until the host has been put in maintenance mode.
  3886  //
  3887  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager puts the host into maintenance
  3888  // mode.
  3889  //
  3890  // This structure may be used only with operations rendered under `/eam`.
  3891  type VibRequiresHostInMaintenanceMode struct {
  3892  	VibIssue
  3893  }
  3894  
  3895  func init() {
  3896  	types.Add("eam:VibRequiresHostInMaintenanceMode", reflect.TypeOf((*VibRequiresHostInMaintenanceMode)(nil)).Elem())
  3897  }
  3898  
  3899  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3900  //
  3901  // A VIB module has been uploaded to the host, but will not be activated
  3902  // until the host is rebooted.
  3903  //
  3904  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager puts the host into maintenance
  3905  // mode and reboots it.
  3906  //
  3907  // This structure may be used only with operations rendered under `/eam`.
  3908  type VibRequiresHostReboot struct {
  3909  	VibIssue
  3910  }
  3911  
  3912  func init() {
  3913  	types.Add("eam:VibRequiresHostReboot", reflect.TypeOf((*VibRequiresHostReboot)(nil)).Elem())
  3914  }
  3915  
  3916  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3917  //
  3918  // A VIB module failed to install, but failed to do so because automatic installation
  3919  // by vSphere ESX Agent Manager is not allowed on the host.
  3920  //
  3921  // This is a passive remediable issue. To remediate, go to VMware Update Manager
  3922  // and install the required bulletins on the host or add the bulletins to the
  3923  // host's image profile.
  3924  //
  3925  // This structure may be used only with operations rendered under `/eam`.
  3926  type VibRequiresManualInstallation struct {
  3927  	VibIssue
  3928  
  3929  	// A non-empty array of bulletins required to be installed on the host.
  3930  	Bulletin []string `xml:"bulletin" json:"bulletin"`
  3931  }
  3932  
  3933  func init() {
  3934  	types.Add("eam:VibRequiresManualInstallation", reflect.TypeOf((*VibRequiresManualInstallation)(nil)).Elem())
  3935  }
  3936  
  3937  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3938  //
  3939  // A VIB module failed to uninstall, but failed to do so because automatic uninstallation
  3940  // by vSphere ESX Agent Manager is not allowed on the host.
  3941  //
  3942  // This is a passive remediable issue. To remediate, go to VMware Update Manager
  3943  // and uninstall the required bulletins on the host or remove the bulletins from the
  3944  // host's image profile.
  3945  //
  3946  // This structure may be used only with operations rendered under `/eam`.
  3947  type VibRequiresManualUninstallation struct {
  3948  	VibIssue
  3949  
  3950  	// A non-empty array of bulletins required to be uninstalled on the host.
  3951  	Bulletin []string `xml:"bulletin" json:"bulletin"`
  3952  }
  3953  
  3954  func init() {
  3955  	types.Add("eam:VibRequiresManualUninstallation", reflect.TypeOf((*VibRequiresManualUninstallation)(nil)).Elem())
  3956  }
  3957  
  3958  // Deprecated as of vSphere 9.0. Please refer to vLCM Image APIs.
  3959  //
  3960  // A data entity providing information about a VIB.
  3961  //
  3962  // This abstraction contains only those of the VIB attributes which convey
  3963  // important information for the client to identify, preview and select VIBs.
  3964  //
  3965  // This structure may be used only with operations rendered under `/eam`.
  3966  type VibVibInfo struct {
  3967  	types.DynamicData
  3968  
  3969  	Id           string                  `xml:"id" json:"id"`
  3970  	Name         string                  `xml:"name" json:"name"`
  3971  	Version      string                  `xml:"version" json:"version"`
  3972  	Vendor       string                  `xml:"vendor" json:"vendor"`
  3973  	Summary      string                  `xml:"summary" json:"summary"`
  3974  	SoftwareTags *VibVibInfoSoftwareTags `xml:"softwareTags,omitempty" json:"softwareTags,omitempty"`
  3975  	ReleaseDate  time.Time               `xml:"releaseDate" json:"releaseDate"`
  3976  }
  3977  
  3978  func init() {
  3979  	types.Add("eam:VibVibInfo", reflect.TypeOf((*VibVibInfo)(nil)).Elem())
  3980  }
  3981  
  3982  // A data entity providing information about software tags of a VIB
  3983  //
  3984  // This structure may be used only with operations rendered under `/eam`.
  3985  type VibVibInfoSoftwareTags struct {
  3986  	types.DynamicData
  3987  
  3988  	Tags []string `xml:"tags,omitempty" json:"tags,omitempty"`
  3989  }
  3990  
  3991  func init() {
  3992  	types.Add("eam:VibVibInfoSoftwareTags", reflect.TypeOf((*VibVibInfoSoftwareTags)(nil)).Elem())
  3993  }
  3994  
  3995  // Specifies an SSL policy that trusts any SSL certificate.
  3996  //
  3997  // This structure may be used only with operations rendered under `/eam`.
  3998  type VibVibServicesAnyCertificate struct {
  3999  	VibVibServicesSslTrust
  4000  }
  4001  
  4002  func init() {
  4003  	types.Add("eam:VibVibServicesAnyCertificate", reflect.TypeOf((*VibVibServicesAnyCertificate)(nil)).Elem())
  4004  	types.AddMinAPIVersionForType("eam:VibVibServicesAnyCertificate", "8.2")
  4005  }
  4006  
  4007  // Specifies an SSL policy that trusts one specific pinned PEM encoded SSL
  4008  // certificate.
  4009  //
  4010  // This structure may be used only with operations rendered under `/eam`.
  4011  type VibVibServicesPinnedPemCertificate struct {
  4012  	VibVibServicesSslTrust
  4013  
  4014  	// PEM encoded pinned SSL certificate of the server that needs to be
  4015  	// trusted.
  4016  	SslCertificate string `xml:"sslCertificate" json:"sslCertificate"`
  4017  }
  4018  
  4019  func init() {
  4020  	types.Add("eam:VibVibServicesPinnedPemCertificate", reflect.TypeOf((*VibVibServicesPinnedPemCertificate)(nil)).Elem())
  4021  	types.AddMinAPIVersionForType("eam:VibVibServicesPinnedPemCertificate", "8.2")
  4022  }
  4023  
  4024  // This structure may be used only with operations rendered under `/eam`.
  4025  type VibVibServicesSslTrust struct {
  4026  	types.DynamicData
  4027  }
  4028  
  4029  func init() {
  4030  	types.Add("eam:VibVibServicesSslTrust", reflect.TypeOf((*VibVibServicesSslTrust)(nil)).Elem())
  4031  	types.AddMinAPIVersionForType("eam:VibVibServicesSslTrust", "8.2")
  4032  }
  4033  
  4034  // An agent virtual machine is corrupted.
  4035  //
  4036  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager deletes and
  4037  // reprovisions the agent virtual machine. To remediate manually, fix the missing file issue and power on the
  4038  // agent virtual machine.
  4039  //
  4040  // This structure may be used only with operations rendered under `/eam`.
  4041  type VmCorrupted struct {
  4042  	VmIssue
  4043  
  4044  	// An optional path for a missing file.
  4045  	MissingFile string `xml:"missingFile,omitempty" json:"missingFile,omitempty"`
  4046  }
  4047  
  4048  func init() {
  4049  	types.Add("eam:VmCorrupted", reflect.TypeOf((*VmCorrupted)(nil)).Elem())
  4050  }
  4051  
  4052  // An agent virtual machine is expected to be removed from a host, but the agent virtual machine has not
  4053  // been removed.
  4054  //
  4055  // Typically, a more specific issue (a subclass of this issue)
  4056  // indicates the particular reason why vSphere ESX Agent Manager was unable to remove the
  4057  // agent virtual machine, such as the host is in maintenance mode, powered off or in standby
  4058  // mode.
  4059  //
  4060  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager redeploys the agent.
  4061  //
  4062  // This structure may be used only with operations rendered under `/eam`.
  4063  type VmDeployed struct {
  4064  	VmIssue
  4065  }
  4066  
  4067  func init() {
  4068  	types.Add("eam:VmDeployed", reflect.TypeOf((*VmDeployed)(nil)).Elem())
  4069  }
  4070  
  4071  type VmHookFailed struct {
  4072  	VmIssue
  4073  }
  4074  
  4075  func init() {
  4076  	types.Add("eam:VmHookFailed", reflect.TypeOf((*VmHookFailed)(nil)).Elem())
  4077  }
  4078  
  4079  type VmHookTimedout struct {
  4080  	VmIssue
  4081  }
  4082  
  4083  func init() {
  4084  	types.Add("eam:VmHookTimedout", reflect.TypeOf((*VmHookTimedout)(nil)).Elem())
  4085  }
  4086  
  4087  type VmInaccessible struct {
  4088  	VmIssue
  4089  }
  4090  
  4091  func init() {
  4092  	types.Add("eam:VmInaccessible", reflect.TypeOf((*VmInaccessible)(nil)).Elem())
  4093  }
  4094  
  4095  // Base class for all issues related to the deployed virtual machine for a
  4096  // particular agent.
  4097  //
  4098  // This structure may be used only with operations rendered under `/eam`.
  4099  type VmIssue struct {
  4100  	AgentIssue
  4101  
  4102  	// The virtual machine to which this issue is related.
  4103  	//
  4104  	// Refers instance of `VirtualMachine`.
  4105  	Vm types.ManagedObjectReference `xml:"vm" json:"vm"`
  4106  }
  4107  
  4108  func init() {
  4109  	types.Add("eam:VmIssue", reflect.TypeOf((*VmIssue)(nil)).Elem())
  4110  }
  4111  
  4112  // Deprecated template agent VMs are not used anymore by VM deployment and
  4113  // monitoring.
  4114  //
  4115  // An agent virtual machine is a virtual machine template.
  4116  //
  4117  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  4118  // converts the agent virtual machine template to a virtual machine.
  4119  //
  4120  // This structure may be used only with operations rendered under `/eam`.
  4121  type VmMarkedAsTemplate struct {
  4122  	VmIssue
  4123  }
  4124  
  4125  func init() {
  4126  	types.Add("eam:VmMarkedAsTemplate", reflect.TypeOf((*VmMarkedAsTemplate)(nil)).Elem())
  4127  }
  4128  
  4129  // An agent virtual machine is expected to be deployed on a host, but the agent virtual machine has not
  4130  // been deployed.
  4131  //
  4132  // Typically, a more specific issue (a subclass of this issue)
  4133  // indicates the particular reason why vSphere ESX Agent Manager was unable to deploy the
  4134  // agent, such as being unable to access the OVF package for the agent or a missing host
  4135  // configuration. This issue can also happen if the agent virtual machine is explicitly deleted
  4136  // from the host.
  4137  //
  4138  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager redeploys the agent virtual machine.
  4139  //
  4140  // This structure may be used only with operations rendered under `/eam`.
  4141  type VmNotDeployed struct {
  4142  	AgentIssue
  4143  }
  4144  
  4145  func init() {
  4146  	types.Add("eam:VmNotDeployed", reflect.TypeOf((*VmNotDeployed)(nil)).Elem())
  4147  }
  4148  
  4149  // An agent virtual machine exists on a host, but the host is no longer part of scope for the
  4150  // agency.
  4151  //
  4152  // This typically happens if a host is disconnected when the agency
  4153  // configuration is changed.
  4154  //
  4155  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager deletes the agent virtual machine.
  4156  //
  4157  // This structure may be used only with operations rendered under `/eam`.
  4158  type VmOrphaned struct {
  4159  	VmIssue
  4160  }
  4161  
  4162  func init() {
  4163  	types.Add("eam:VmOrphaned", reflect.TypeOf((*VmOrphaned)(nil)).Elem())
  4164  }
  4165  
  4166  // An agent virtual machine is expected to be powered on, but the agent virtual machine is powered off.
  4167  //
  4168  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  4169  // powers on the agent virtual machine.
  4170  //
  4171  // This structure may be used only with operations rendered under `/eam`.
  4172  type VmPoweredOff struct {
  4173  	VmIssue
  4174  }
  4175  
  4176  func init() {
  4177  	types.Add("eam:VmPoweredOff", reflect.TypeOf((*VmPoweredOff)(nil)).Elem())
  4178  }
  4179  
  4180  // An agent virtual machine is expected to be powered off, but the agent virtual machine is powered on.
  4181  //
  4182  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  4183  // powers off the agent virtual machine.
  4184  //
  4185  // This structure may be used only with operations rendered under `/eam`.
  4186  type VmPoweredOn struct {
  4187  	VmIssue
  4188  }
  4189  
  4190  func init() {
  4191  	types.Add("eam:VmPoweredOn", reflect.TypeOf((*VmPoweredOn)(nil)).Elem())
  4192  }
  4193  
  4194  type VmProtected struct {
  4195  	VmIssue
  4196  }
  4197  
  4198  func init() {
  4199  	types.Add("eam:VmProtected", reflect.TypeOf((*VmProtected)(nil)).Elem())
  4200  }
  4201  
  4202  // An agent virtual machine is expected to be deployed on a host, but the agent
  4203  // virtual machine cannot be deployed because the host is in Maintenance Mode.
  4204  //
  4205  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  4206  // takes the host out of Maintenance Mode and deploys the agent virtual machine.
  4207  //
  4208  // Resolving this issue in vSphere Lifecyle Manager environemnt will be no-op.
  4209  // In those cases user must take the host out of Maintenance Mode manually or
  4210  // wait vSphere Lifecycle Maanger cluster remediation to complete (if any).
  4211  //
  4212  // This structure may be used only with operations rendered under `/eam`.
  4213  type VmRequiresHostOutOfMaintenanceMode struct {
  4214  	VmNotDeployed
  4215  }
  4216  
  4217  func init() {
  4218  	types.Add("eam:VmRequiresHostOutOfMaintenanceMode", reflect.TypeOf((*VmRequiresHostOutOfMaintenanceMode)(nil)).Elem())
  4219  	types.AddMinAPIVersionForType("eam:VmRequiresHostOutOfMaintenanceMode", "7.2")
  4220  }
  4221  
  4222  // An agent virtual machine is expected to be powered on, but the agent virtual machine is suspended.
  4223  //
  4224  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager powers on the agent virtual machine.
  4225  //
  4226  // This structure may be used only with operations rendered under `/eam`.
  4227  type VmSuspended struct {
  4228  	VmIssue
  4229  }
  4230  
  4231  func init() {
  4232  	types.Add("eam:VmSuspended", reflect.TypeOf((*VmSuspended)(nil)).Elem())
  4233  }
  4234  
  4235  // Deprecated eAM does not try to override any action powerfull user has taken.
  4236  //
  4237  // An agent virtual machine is expected to be located in a designated agent
  4238  // virtual machine folder, but is found in a different folder.
  4239  //
  4240  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  4241  // moves the agent virtual machine back into the designated agent folder.
  4242  //
  4243  // This structure may be used only with operations rendered under `/eam`.
  4244  type VmWrongFolder struct {
  4245  	VmIssue
  4246  
  4247  	// The folder in which the virtual machine currently resides.
  4248  	//
  4249  	// Refers instance of `Folder`.
  4250  	CurrentFolder types.ManagedObjectReference `xml:"currentFolder" json:"currentFolder"`
  4251  	// The ESX agent folder in which the virtual machine should reside.
  4252  	//
  4253  	// Refers instance of `Folder`.
  4254  	RequiredFolder types.ManagedObjectReference `xml:"requiredFolder" json:"requiredFolder"`
  4255  }
  4256  
  4257  func init() {
  4258  	types.Add("eam:VmWrongFolder", reflect.TypeOf((*VmWrongFolder)(nil)).Elem())
  4259  }
  4260  
  4261  // Deprecated eAM does not try to override any action powerfull user has taken.
  4262  //
  4263  // An agent virtual machine is expected to be located in a designated agent
  4264  // virtual machine resource pool, but is found in a different resource pool.
  4265  //
  4266  // This is an active remediable issue. To remediate, vSphere ESX Agent Manager
  4267  // moves the agent virtual machine back into the designated agent resource pool.
  4268  //
  4269  // This structure may be used only with operations rendered under `/eam`.
  4270  type VmWrongResourcePool struct {
  4271  	VmIssue
  4272  
  4273  	// The resource pool in which the VM currently resides.
  4274  	//
  4275  	// Refers instance of `ResourcePool`.
  4276  	CurrentResourcePool types.ManagedObjectReference `xml:"currentResourcePool" json:"currentResourcePool"`
  4277  	// The ESX agent resource pool in which the VM should reside.
  4278  	//
  4279  	// Refers instance of `ResourcePool`.
  4280  	RequiredResourcePool types.ManagedObjectReference `xml:"requiredResourcePool" json:"requiredResourcePool"`
  4281  }
  4282  
  4283  func init() {
  4284  	types.Add("eam:VmWrongResourcePool", reflect.TypeOf((*VmWrongResourcePool)(nil)).Elem())
  4285  }
  4286  
  4287  type VersionURI string
  4288  
  4289  func init() {
  4290  	types.Add("eam:versionURI", reflect.TypeOf((*VersionURI)(nil)).Elem())
  4291  }