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